java文件操作是通过什么实现的,java对文件类提供了许多操作方法

  java文件操作是通过什么实现的,java对文件类提供了许多操作方法

  如何解决写爬虫IP受阻的问题?立即使用。

  先介绍一下字节流和字符流的概念和区别:

  (学习视频分享:java教学视频)

  区分字节流和字符流的概念。

  字节流:读取字节流时,读取时返回一个字节;主要用于阅读图片、MP3和AVI视频文件。

  字符流:字符流使用字节流读取一个或多个字节。比如读中文的时候,它会一次读2个字节。只要是处理纯文本数据,就应该优先使用字符流。

  字节流和字符流的区别

  字节流操作的基本单位是字节;字符流操作的基本单位是Unicode符号。默认情况下,字节不使用缓冲区;字符流使用缓冲区。字节通常用于处理二进制数据。事实上,它可以处理任何类型的数据,但它不支持直接写入或读取Unicode符号。字符流通常处理文本数据,它支持Unicode符号的读写。

  常见文件操作:

  创建和删除文件夹

  string path= F:\ \ test ;

  File myFile=新文件(路径);

  如果(!myFile.exists()) {

  //创建一个文件夹

  my file . mkdir();

  //my file . mkdirs();

  //删除文件夹

  my file . delete();

  }

  //mkdirs()可以建立多级文件夹,而mkdir()只能建立一级文件夹来创建和删除文件。

  String content= Hello World

  //第一种方法:根据文件路径和文件名

  string path= F:\ \ test ;

  String filename= test.txt

  File myFile=新文件(路径,文件名);

  //第二种方法

  string file= F:\ \ test \ \ test . txt ;

  File myFile=new File(文件);

  如果(!myFile.exists()) {

  //创建文件(前提是目录已经存在,否则新建一个目录或文件夹)

  my file . create new file();

  //删除文件

  my file . delete();

  }写入文件

  //第一种类型:字节流FileOutputStream

  file output stream fop=new file output stream(my file);

  byte[]contentInBytes=content . getbytes();

  fop . write(contentInBytes);

  fop . flush();

  fop . close();

  //第二种类型:FileWriter(如果参数为true,则为追加内容;如果不是,则是被覆盖的内容)

  FileWriter fw=new FileWriter(my file,true);

  fw.write(内容);

  fw . close();

  //第三种类型:BufferedWriter

  buffered writer bw=new buffered writer(new file writer(my file,true));

  bw.write(内容);

  bw . flush();

  bw . close();

  //第四种类型:PrintStream printstream和PrintWriter

  //byte PrintStream: printstream

  //字符打印流:PrintWriter

  PrintWriter pw=new PrintWriter(new FileWriter(my file,true));

  pw.println(内容);//换行

  pw.print(内容);//不换行

  pw . close();

  //常用的BufferedWriter和PrintWriter读取文件

  文件输入流

  //第一种:按字节读取文件,常用于读取二进制文件,如图片、声音、图像等文件。

  InputStream in=new file InputStream(my file);

  //一次读取一个字节

  int tempbyte

  while ((tempbyte=in.read())!=-1) {

  system . out . write(tempbyte);

  }

  in . close();

  //一次读取多个字节

  int byteread=0;

  byte[] tempbytes=新字节[100];

  readfromfile . showavailablebytes(in);

  while((byteread=in . read(temp bytes))!=-1) {

  System.out.write(tempbytes,0,byteread);

  }

  //system . out . write()方法是字符流,System.out.println()方法是字节流InputStreamReader。

  //第二种:以字符为单位读取文件,常用于读取文本、数字等文件。

  reader reader=new inputstream reader(new file inputstream(my file));

  //一次读取一个字节

  int tempchar

  while ((tempchar=reader.read())!=-1) {

  //对于windows,\ r \当这两个字符在一起时,表示换行。

  //但是这两个字符分开显示的话,就要换两次线。

  //因此,mask \r,或mask \ n .否则,空白行会多得多。

  if (((char) tempchar)!=\r) {

  system . out . print((char)temp char);

  }

  }

  reader . close();

  //一次读取多个字节

  char[]tempchars=new char[30];

  int char read=0;

  //将多个字符读入字符数组,charread是一次读取的字符数。

  while((charread=reader . read(tempchars))!=-1) {

  //也屏蔽掉\ r不显示它

  if((char read==tempchars . length)(tempchars[tempchars . length-1]!= \ r ){

  system . out . print(tempchars);

  }否则{

  for(int I=0;我读;i ) {

  if (tempchars[i]==\r) {

  继续;

  }否则{

  system . out . print(tempchars[I]);

  }

  }

  }

  }BufferedReader

  //第三种:以行为单位读取文件,常用于读取面向行的格式化文件。

  buffered reader reader=new buffered reader(new file reader(my file));

  String tempString=null

  int line=1;

  //一次读入一行,直到读取空文件结束。

  while((tempString=reader . readline())!=null) {

  //显示行号

  system . out . println( line line : tempString);

  线;

  }

  reader . close();

  //常用BufferedReader遍历文件(以删除一个文件夹下的所有文件为例)

  file[]files=my file . list files();

  for(int I=0;ifiles.lengthi ){

  if(files[i].isDirectory()){

  文件[i]。delete();

  }

  }文件功能:

  //确定文件是否存在

  myFile.exists()

  //读取文件名

  myFile.getName()

  //读取文件路径(相对路径)

  myFile.getPath()

  //读取文件的绝对路径

  myFile.getAbsolutePath()

  //读取文件的父路径

  新文件(myFile.getAbsolutePath())。getParent()

  //读取文件的大小

  myFile.length()

  //确定文件是否隐藏

  myFile.isHidden()

  //确定文件是否可读

  myFile.canRead()

  //确定文件是否可写

  myFile.canWrite()

  //确定文件是否是文件夹。

  MyFile.isDirectory()相关推荐:java入门。以上是java中常见文件操作的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: