package com.why;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
File file = new File("D:\\A.txt");
FileInputStream input;
try {
input = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(input);
int b;
String s = "";
List<String> list = new ArrayList<String>();
while((b=reader.read())!=-1){
if(b==10 || b==13){
list.add(s);
s="";
}
else{
char c = (char) b;
s+=String.valueOf(c);
}
}
for(int j=0;j<list.size();j++){
System.out.println((String)list.get(j));
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.why;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
File file = new File("D:\\A.txt");
FileInputStream input;
try {
input = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(input);
BufferedReader breader=new BufferedReader(reader);
String s = breader.readLine();
while(s!=null){
System.out.println(s);
s = breader.readLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
- 使用`BufferedReader`和`InputStreamReader`:首先,通过`InputStreamReader`将InputStream转换为字符流,然后使用`BufferedReader`逐行读取并拼接成字符串。 ```java InputStream is = ...; ...
它是`Reader`类的一个子类,主要负责将字节流(`InputStream`)转换为字符流。在处理非ASCII字符(如中文字符)时,`InputStreamReader`需要指定一个字符编码,例如GBK、UTF-8等,以正确解读字节流中的字符。如果未...
InputStreamReader负责将字节流转换为字符流,而BufferedReader则通过内部缓冲区提供高效的读取操作。两者结合使用,可以实现高效且便捷的文本数据读取,尤其适用于处理大量文本数据的情况。在实际开发中,为了优化...
- 示例:`FileInputStream`和`FileOutputStream`用于读写文件,`InputStreamReader`和`OutputStreamWriter`则将字节流转换为字符流。 2. **字符流**: - 字符流处理的是16位的Unicode字符,适用于处理文本数据。`...
Java中的InputStreamReader和...InputStreamReader和OutputStreamWriter是Java中用于将字节流和字符流进行转换的类,它们都是Reader和Writer的子类,提供了多种构造方法和成员方法,可以满足不同的应用需求。
InputStreamReader和OutputStreamWriter可以分别将InputStream和OutputStream转换为字符流,以便处理文本数据。例如,FileReader和FileWriter用于读写文本文件。 6. **InputStreamReader 和 OutputStreamWriter**: ...
为了方便地完成字符编码与解码的过程,Java提供了两种特殊的流——`InputStreamReader`和`OutputStreamWriter`,它们统称为**转换流**。 ##### 1. InputStreamReader - **作用**:`InputStreamReader`是一种字符流...
总结来说,Java中InputStream、String和File的相互转化是编程中常见的操作,理解并掌握这些转换方法对于提升开发效率和代码质量至关重要。在进行转换时,要结合具体场景,选择合适的方法,同时注意性能优化和资源...
InputStreamReader和OutputStreamWriter是两个关键的转换器,分别将InputStream和OutputStream转换为Reader和Writer,以支持字符流操作。Reader和Writer的使用通常是首选,因为它们能更好地处理国际化的字符编码。 ...
1. 打开源文件,使用`InputStream`和`InputStreamReader`读取文件内容,根据源文件的编码设置正确的字符集。 2. 自动检测编码,可以使用第三方库如`jcjk`或`ICU4J`,它们提供了更强大的字符集识别功能。 3. 创建一个...
字节之间转换的环节,即`InputStreamReader`和`OutputStreamWriter`这两个类。它们作为`Reader`和`Writer`的子类,提供了指定编码的能力,弥补了`Reader`和`Writer`默认使用系统编码的不足。 `InputStreamReader`是...
也可以通过`ByteArrayInputStream`和`ByteArrayOutputStream`转换为流,然后使用`InputStreamReader`和`OutputStreamWriter`进行编码转换。 6. **错误编码的字符串转换**: 如果字符串由于错误的编码转换方式产生...
1. **IO流**:Java的InputStream和OutputStream类用于读写文件,InputStreamReader和OutputStreamWriter则用于处理字符流,配合BufferedReader和BufferedWriter可以高效地读写大文件。 2. **文件操作**:File类提供...
- `InputStreamReader` 和 `OutputStreamWriter`:它们可以与`InputStream`和`OutputStream`结合使用,用于在字节流和字符流之间进行编码转换。 - `BufferedReader` 和 `BufferedWriter`:提供缓冲功能,提高读写...
2. **创建Reader**:为了读取文本内容,我们需要将`InputStream`转换为`Reader`。可以使用`InputStreamReader`实现,指定适当的字符编码,如UTF-8: ```java InputStreamReader isr = new InputStreamReader(bis, ...
字符流由Reader和Writer类族构成,如InputStreamReader和OutputStreamWriter,它们分别用于将字节流转换为字符流。字符流在处理Unicode字符集时特别有用,因为它可以正确处理多种语言的字符编码。例如,使用 ...
2. **InputStreamReader和OutputStreamWriter**:这两个类是Java I/O流中的重要组成部分,它们分别用于将字节流转换为字符流和将字符流转换为字节流。在处理不同编码时,我们可以指定所需的编码类型,如`new ...
Java的IO系统在此起到了关键作用,它分为面向字节的流(如InputStream和OutputStream)和面向字符的流(如Reader和Writer)。 面向字节的流处理原始的二进制数据,不进行任何字符编码转换,适用于处理如图像、音频...
2. **InputStream与OutputStream的转换**:在读取文件或网络流时,我们通常使用`InputStreamReader`和`BufferedReader`来读取字节流并转换为字符流,同时指定相应的编码。写入时则使用`OutputStreamWriter`和`...