第一个
代码
//此方法用来读取当前目录下的一个test.txt文件文件内容如下
//这是一个测试文本
//用来测试FileInputStream读取文件内容
// --2007.11.24import java.io.*;
public class Test
{
public static void main (String [] ar) throws IOException
{
if(ar.length == 0)
{
System.out.println("没有输入正确格式");
return;
}
InputStream fis = new FileInputStream("test.txt");
int size;
size = fis.available();
System.out.println("文件内容如下:");
char [] text = new char[100];
for (int i =0 ;i<size ; i++)
{
text [i] = (char) fis.read();
System.out.print(text[i]);
}
fis.close();
}
}
编译运行后
结果显示为
???????????
??????FileInputStream????????
--2007.11.24
请问这是为什么不能读取文档中的中文?是否是因为这是利用字节流实现的读取?
没有用编译器 用的是UE写的 DOS下运行得出的结果
后来我用 BufferedRead在写一个 发现可以读取中文 显示文档中的所有内容
这是不是 字节流 和 字符流的区别?是不是因为字符流是Unicode?问题2
//利用FileOutputStream向文本中写如内容
import java.io.*;
public class Test
{
public static void main (String [] ar) throws IOException
{
//s里面的\n是我想实现一个文档的换行效果
String s = "这是个测试文件\n用FileOutputStream向文本中写如内容\n--2007.11.24";
byte [] word = s.getBytes();
OutputStream fos = new FileOutputStream ("test.txt");
fos.write(word,0,word.length);
System.out.println("文件已更新");
fos.close();
}
}运行后发现文档已经写入 但是换行效果并没有显示出来 反而显示的是黑色的方框
如果说不支持转义符的话 我用\t来代替\n确可以实现 tab效果
请问这是为什么??
3
请问 Read,Write类和InputStream,OutputStream类的区别是什么?
实际应用中哪个哪个使用的比较多?比较实用?
代码
//此方法用来读取当前目录下的一个test.txt文件文件内容如下
//这是一个测试文本
//用来测试FileInputStream读取文件内容
// --2007.11.24import java.io.*;
public class Test
{
public static void main (String [] ar) throws IOException
{
if(ar.length == 0)
{
System.out.println("没有输入正确格式");
return;
}
InputStream fis = new FileInputStream("test.txt");
int size;
size = fis.available();
System.out.println("文件内容如下:");
char [] text = new char[100];
for (int i =0 ;i<size ; i++)
{
text [i] = (char) fis.read();
System.out.print(text[i]);
}
fis.close();
}
}
编译运行后
结果显示为
???????????
??????FileInputStream????????
--2007.11.24
请问这是为什么不能读取文档中的中文?是否是因为这是利用字节流实现的读取?
没有用编译器 用的是UE写的 DOS下运行得出的结果
后来我用 BufferedRead在写一个 发现可以读取中文 显示文档中的所有内容
这是不是 字节流 和 字符流的区别?是不是因为字符流是Unicode?问题2
//利用FileOutputStream向文本中写如内容
import java.io.*;
public class Test
{
public static void main (String [] ar) throws IOException
{
//s里面的\n是我想实现一个文档的换行效果
String s = "这是个测试文件\n用FileOutputStream向文本中写如内容\n--2007.11.24";
byte [] word = s.getBytes();
OutputStream fos = new FileOutputStream ("test.txt");
fos.write(word,0,word.length);
System.out.println("文件已更新");
fos.close();
}
}运行后发现文档已经写入 但是换行效果并没有显示出来 反而显示的是黑色的方框
如果说不支持转义符的话 我用\t来代替\n确可以实现 tab效果
请问这是为什么??
3
请问 Read,Write类和InputStream,OutputStream类的区别是什么?
实际应用中哪个哪个使用的比较多?比较实用?
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(strInFile);
InputStreamReader isr = new InputStreamReader(fis, "GB2312");
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
iCharNum += 1;
buffer.append((char)ch);
}
in.close();
return buffer.toString();
}
catch (IOException e) {
e.printStackTrace();
return null;
}
}