Java-IO流总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-IO流总结相关的知识,希望对你有一定的参考价值。
1.字符流总结---通过缓冲区复制一个.java文件。
2.字节流总结---演示mp3的复制。通过缓冲区。
3.读取转换流
4.写入转换流
5.File类总结---递归列出目录中的内容,并且有层级
字符流总结---通过缓冲区复制一个.java文件。
importjava.io.*;
class CopyTextByBuf
{
public static void main(String[] args)
{
BufferedReader bufr = null;
BufferedWriter bufw = null;
try
{
bufr = newBufferedReader(new FileReader("BufferedWriterDemo.java"));
bufw = newBufferedWriter(new FileWriter("bufWriter_Copy.txt"));
String line = null;
while((line=bufr.readLine())!=null)
{
bufw.write(line);/*也可以bufw.write(line+”\r\n”);进行换行*/
bufw.newLine();//因为readline不读取回车符,所以要使得读取的数据好看一点,应该加一个回车符;
bufw.flush();
}
}
catch (IOException e)
{
throw newRuntimeException("读写失败");
}
finally
{
try
{
if(bufr!=null)
bufr.close();
}
catch (IOExceptione)
{
throw newRuntimeException("读取关闭失败");
}
try
{
if(bufw!=null)
bufw.close();
}
catch (IOExceptione)
{
throw newRuntimeException("写入关闭失败");
}
}
}
}
字节流总结---演示mp3的复制。通过缓冲区。
importjava.io.*;
class CopyMp3
{
public static void main(String[] args)throws IOException
{
long start =System.currentTimeMillis();
copy_1();
long end =System.currentTimeMillis();
System.out.println((end-start)+"毫秒");
}
//通过字节流的缓冲区完成复制。
public static void copy_1()throwsIOException
{
BufferedInputStream bufis =new BufferedInputStream(new FileInputStream("c:\\0.mp3"));
BufferedOutputStream bufos =new BufferedOutputStream(new FileOutputStream("c:\\1.mp3"));
int by = 0;
while((by=bufis.read())!=-1)
{
bufos.write(by);
}
bufos.close();
bufis.close();
}
}
读取转换流
importjava.io.*;
class TransStreamDemo
{
public static void main(String[] args)throws IOException
{
//获取键盘录入对象。
InputStream in = System.in;
//将字节流对象转成字符流对象,使用转换流。InputStreamReader
InputStreamReader isr = newInputStreamReader(in);
//为了提高效率,将字符串进行缓冲区技术高效操作。使用BufferedReader
BufferedReader bufr = newBufferedReader(isr);
String line = null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
system.out.println(line.toUperCase());
}
bufr.close();
}
}---------------------------------------------------读取转换流
写入转换流
importjava.io.*;
class TransStreamDemo
{
public static void main(String[] args)throws IOException
{
//键盘的最常见写法。
BufferedReader bufr =
newBufferedReader(new InputStreamReader(System.in));
// OutputStream out = System.out;
// OutputStreamWriter osw = newOutputStreamWriter(out);
// BufferedWriter bufw = newBufferedWriter(osw);
BufferedWriter bufw = newBufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
}
}
File类总结---递归列出目录中的内容,并且有层级
classFileDemo3
{
public static void main(String[] args)
{
File dir = newFile("d:\\testdir");
showDir(dir,0);
}
public static String getLevel(intlevel)
{
StringBuilder sb = newStringBuilder();
sb.append("|--");
for(int x=0; x<level; x++)
{
//sb.append("|--");
sb.insert(0,"| ");
}
return sb.toString();
}
public static void showDir(File dir,intlevel)
{
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files =dir.listFiles();
for(int x=0;x<files.length; x++)
{
if(files[x].isDirectory())
showDir(files[x],level);
else
System.out.println(getLevel(level)+files[x]);
}
}
本文出自 “11773640” 博客,请务必保留此出处http://11783640.blog.51cto.com/11773640/1868693
以上是关于Java-IO流总结的主要内容,如果未能解决你的问题,请参考以下文章