大年夜输入流里攫取块数据
- InputStream in = (...);
- try {
- byte[] buf = new byte[100];
- while (true) {
- int n = in.read(buf);
- if (n == -1)
- break;
- (... process buf with offset=0 and length=n ...)
- }
- } finally {
- in.close();
- }
- 要记住的是,read()办法不必定会填满全部buf,所以你必须在处理逻辑中推敲返回的长度。
- 参考: java.io.InputStream.read(byte[])、java.io.InputStream.read(byte[], int, int)。
大年夜文件里攫取文本
实现compareTo()
- BufferedReader in = new BufferedReader(
- new InputStreamReader(new FileInputStream(...), "UTF-8"));
- try {
- while (true) {
- String line = in.readLine();
- if (line == null)
- break;
- (... process line ...)
- }
- } finally {
- in.close();
- }
- BufferedReader对象的创建显得很冗长。这是因为Java把字节和字符当成两个不合的概念来对待(这与C说话不合)。
- 你可以应用任何类型的InputStream来代替FileInputStream,比如socket。
- 当达到流的末尾时,BufferedReader.readLine()会返回null。
- 要一次攫取一个字符,应用Reader.read()办法。
- 你可以应用其他的字符编码而不应用UTF-8,但最好不要如许做。
- 参考:java.io.BufferedReader、java.io.InputStreamReader。
向文件里写文本
- PrintWriter out = new PrintWriter(
- new OutputStreamWriter(new FileOutputStream(...), "UTF-8"));
- try {
- out.print("Hello ");
- out.print(42);
- out.println(" world!");
- } finally {
- out.close();
- }
- Printwriter对象的创建显得很冗长。这是因为Java把字节和字符当成两个不合的概念来对待(这与C说话不合)。
- 就像System.out,你可以应用print()和println()打印多种类型的值。
- 你可以应用其他的字符编码而不应用UTF-8,但最好不要如许做。
推荐阅读
我们天天应用很多Linux敕令行。我们大年夜网上知道一些技能,但如不雅我们不去演习,我们就有可能忘记。我决定做一个关于技能和桥绫桥的列表,这些技能和桥绫桥对于你来说可能是已经忘记的,或>>>详细阅读
本文标题:关于Java习惯用法的总结
地址:http://www.17bianji.com/lsqh/37140.html
1/2 1