你能告诉我一个简单的例子,从名为example.txt的文件中读取并使用java NIO将所有内容放入我的 java 程序中的字符串中吗?以下是我目前使用的:FileChannel inChannel = FileChannel.open(Paths.get(file),StandardOpenOption.READ);CharBuffer buf=ByteBuffer.allocate(1024).asCharBuffer();while(inChannel.read(buf)!=-1) { buf.flip(); while(buf.hasRemaining()) { //append to a String buf.clear(); }}
1 回答
Helenr
TA贡献1780条经验 获得超3个赞
试试这个:
public static String readFile(File f, int bufSize) {
ReadableByteChannel rbc = FileChannel.open(Paths.get(f),StandardOpenOption.READ);
char[] ca = new char[bufSize];
ByteBuffer bb = ByteBuffer.allocate(bufSize);
StringBuilder sb = new StringBuilder();
while(rbc.read(bb) > -1) {
CharBuffer cb = bb.asCharBuffer();
cb.flip();
cb.get(ca);
sb.append(ca);
cb.clear();
}
return sb.toString();
}
ca如果按 char 写入 char 在性能方面是可以接受的,那么您可以不使用中间人缓冲区。在这种情况下,您可以简单地sb.append(cb.get()).
添加回答
举报
0/150
提交
取消