Return the text of a file as a string?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to create a Java String from the contents of a file
是否可以处理多行文本文件并将其内容作为字符串返回?
如果可能的话,请告诉我怎么做。
如果您需要更多的信息,我正在处理I/O。我想打开一个文本文件,处理它的内容,将其作为字符串返回,并将文本区域的内容设置为该字符串。
有点像文本编辑器。
使用apache commons fileutils的readfiletoString
1 2 3 4 5 6 7 8 9 10 11 12 13 | String data =""; try { BufferedReader in = new BufferedReader(new FileReader(new File("some_file.txt"))); StringBuilder string = new StringBuilder(); for (String line =""; line = in.readLine(); line != null) string.append(line).append(" "); in.close(); data = line.toString(); } catch (IOException ioe) { System.err.println("Oops:" + ioe.getMessage()); } |
先记住
这将用替换文件中的所有换行符,因为我认为没有任何方法可以在文件中使用分隔符。
在这里检查Java教程http://download.oracle.com/javase/tutorial/essential/io/file.html(下载.oracle.com/javase/tutorial/essential/io/file.html)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Path file = ...; InputStream in = null; StringBuffer cBuf = new StringBuffer(); try { in = file.newInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); cBuf.append(" "); cBuf.append(line); } } catch (IOException x) { System.err.println(x); } finally { if (in != null) in.close(); } // cBuf.toString() will contain the entire file contents return cBuf.toString(); |
有点像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | String result =""; try { fis = new FileInputStream(file); bis = new BufferedInputStream(fis); dis = new DataInputStream(bis); while (dis.available() != 0) { // Here's where you get the lines from your file result += dis.readLine() +" "; } fis.close(); bis.close(); dis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; |