62,614
社区成员
发帖
与我相关
我的任务
分享
import java.io.*;
public class FileToString {
public static String readFile(String fileName) {
String output = "";
File file = new File(fileName);
if(file.exists()){
if(file.isFile()){
try{
BufferedReader input = new BufferedReader (new FileReader(file));
StringBuffer buffer = new StringBuffer();
String text; //问题出在这2行,如果我这么写的话,就会报那个错误。
//String text = input.readLine();
while((text = input.readLine()) != null) //while(text != null)
buffer.append(text +"\n");
output = buffer.toString();
}
catch(IOException ioException){
System.err.println("File Error!");
}
}
else if(file.isDirectory()){
String[] dir = file.list();
output += "Directory contents:\n";
for(int i=0; i<dir.length; i++){
output += dir[i] +"\n";
}
}
}
else{
System.err.println("Does not exist!");
}
return output;
}
public static void main (String args[]){
String str = readFile("C:/1.txt");
System.out.print(str);
}
}
奥运加油!
北京加油!
中国加油!
//test
String text = input.readLine();
int counter = 1;
long startTime = System.nanoTime();
while(text != null){
buffer.append(text + "\n");
long endTime = System.nanoTime();
System.out.println(counter + ": " + (endTime - startTime) + "ns");
counter++;
}
132917: 4396824736ns
132918: 4396842336ns
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
while((text = input.readLine()) != null)
String text = input.readLine();
while(text != null)
while((text = input.readLine()) != null)
String text = input.readLine();
while(text != null)