我正在尝试编写一个程序,要求我从文件中读取文本.在做研究时,我发现这个代码完全符合我的要求:
String string="";
try{
InputStream ips = new FileInputStream("WORDS.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String line;
while ((line=br.readLine())!=null){
System.out.println(line);
string+=line+"\n";
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释这段代码是如何工作的吗?我是编程新手,我对大部分代码都不熟悉.这不是作业 - 这是我为自己的个人利益而写的一个程序.谢谢.
在你理解了程序的功能之后(重要的是,这些是任何Java程序员的基本概念,希望有人会填写),这是我要做的改进它:
根本没有这方面的代码.将文件读入字符串的问题已经解决了.使用Commons IO.
不要在循环中使用字符串连接.使用StringBuilder.使用您对所需容量(例如文件大小)的最佳猜测来初始化StringBuilder.
创建Reader时指定显式字符集.否则,您的程序将无法在不同的计算机上移植.
不要先删除换行符然后重新添加它们,除非这真的是你想要的.这可能会更改正在读取的数据(如果原始文件使用不同的换行符方案).
不要捕获异常并打印它.让它将调用堆栈传播到一段可以处理它的代码.
不要将结果String初始化为空.如果代码完成,String将保存您的数据,否则,您需要null或异常.空字符串只会使查找错误变得更加困难.最好不要初始化String,甚至不要为null.然后你会在这里得到一个很好的编译错误,要求你明确指定在异常情况下字符串应该是什么.
将从文件中读取的代码放在自己的方法中.让它返回一个字符串.您以后使用该String执行的操作与此方法无关.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |