package com.tqnsyh.liutong;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import org.omg.CORBA.portable.InputStream;
public class Read {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char a='x';
//字节流 8位 字符流 16位
String filepathString="D://1.txt";
int size;
System.out.println(new Read().readFile(filepathString));
}
public String readFile(String filepathString){
String fileString="";
try {
byte[] array=new byte[1];
FileInputStream fileInputStream=new FileInputStream(filepathString);
int size=fileInputStream.available();//读取字节数
while(size!=0){
fileInputStream.read(array);//将字节数组读到数组中
fileString+=new String(array);//将数组转换成字符串
size--;
}
} catch (Exception e) {
// TODO: handle exception
}
return fileString;
}
}
如果是用fileinputStream 就会出现乱码
package com.tqnsyh.liutong;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import org.omg.CORBA.portable.InputStream;
public class Read {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char a='x';
//字节流 8位 字符流 16位
String filepathString="D://1.txt";
int size;
System.out.println(new Read().readFile(filepathString));
}
/*public String readFile(String filepathString){
String fileString="";
try {
byte[] array=new byte[1];
FileInputStream fileInputStream=new FileInputStream(filepathString);
int size=fileInputStream.available();//读取字节数
while(size!=0){
fileInputStream.read(array);//将文件读到数组中
fileString+=new String(array);//将数组转换成字符串
size--;
}
} catch (Exception e) {
// TODO: handle exception
}
return fileString;
}
*/
public String readFile(String filepathString){
String fileString="";
int l=0;
try {
FileReader fileInputStream=new FileReader(filepathString);
char [] br=new char[32];
while((l=fileInputStream.read(br))>0){
fileString+=new String(br,0,l);
}
} catch (Exception e) {
// TODO: handle exception
}
return fileString;
}
}
fileInputStream 是字节流是以字节为单位进行读取
fileread是字符流以字符读取 JAVA里面 1字符=2个字节,并且中文一个字也是2个字节,所以不会乱码。