Re-factor loading profile in the streams so that I can reuse that load elsewhere. handy function.
This commit is contained in:
parent
a07d523c81
commit
31aa7bf5c9
|
@ -29,11 +29,9 @@
|
|||
*/
|
||||
package org.antlr.v4.runtime;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import org.antlr.v4.runtime.misc.Utils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* This is an {@link ANTLRInputStream} that is loaded from a file all at once
|
||||
|
@ -54,29 +52,8 @@ public class ANTLRFileStream extends ANTLRInputStream {
|
|||
public void load(String fileName, String encoding)
|
||||
throws IOException
|
||||
{
|
||||
if ( fileName==null ) {
|
||||
return;
|
||||
}
|
||||
File f = new File(fileName);
|
||||
int size = (int)f.length();
|
||||
InputStreamReader isr;
|
||||
FileInputStream fis = new FileInputStream(fileName);
|
||||
if ( encoding!=null ) {
|
||||
isr = new InputStreamReader(fis, encoding);
|
||||
}
|
||||
else {
|
||||
isr = new InputStreamReader(fis);
|
||||
}
|
||||
try {
|
||||
data = new char[size];
|
||||
n = isr.read(data);
|
||||
if (n < data.length) {
|
||||
data = Arrays.copyOf(data, n);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
isr.close();
|
||||
}
|
||||
data = Utils.readFile(fileName, encoding);
|
||||
this.n = data.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -30,13 +30,17 @@
|
|||
|
||||
package org.antlr.v4.runtime.misc;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Writer;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
|
@ -104,6 +108,38 @@ public class Utils {
|
|||
}
|
||||
}
|
||||
|
||||
public static char[] readFile(String fileName) throws IOException {
|
||||
return readFile(fileName, null);
|
||||
}
|
||||
|
||||
public static char[] readFile(String fileName, String encoding) throws IOException {
|
||||
if ( fileName==null ) {
|
||||
return null;
|
||||
}
|
||||
File f = new File(fileName);
|
||||
int size = (int)f.length();
|
||||
InputStreamReader isr;
|
||||
FileInputStream fis = new FileInputStream(fileName);
|
||||
if ( encoding!=null ) {
|
||||
isr = new InputStreamReader(fis, encoding);
|
||||
}
|
||||
else {
|
||||
isr = new InputStreamReader(fis);
|
||||
}
|
||||
char[] data = null;
|
||||
try {
|
||||
data = new char[size];
|
||||
int n = isr.read(data);
|
||||
if (n < data.length) {
|
||||
data = Arrays.copyOf(data, n);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
isr.close();
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
public static void waitForClose(final Window window) throws InterruptedException {
|
||||
final Object lock = new Object();
|
||||
|
||||
|
|
Loading…
Reference in New Issue