返回顶部
首页 > 资讯 > 精选 >Java操作文件与磁盘的方法是什么
  • 165
分享到

Java操作文件与磁盘的方法是什么

2023-06-03 03:06:32 165人浏览 安东尼
摘要

这篇文章主要介绍“Java操作文件与磁盘的方法是什么”,在日常操作中,相信很多人在Java操作文件与磁盘的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java操作文件与磁盘的方法是什么”的疑惑有所

这篇文章主要介绍“Java操作文件与磁盘的方法是什么”,在日常操作中,相信很多人在Java操作文件与磁盘的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java操作文件与磁盘的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1 如何获得某一个目录下的文件列表?

  File MyDir = new File("C:/windows/.");

  String[] FileNames = MyDir.list();

2 如何实现一个打开文件或者是存储文件对话框?

  AWT:  FileDialog类 + FilenameFilter类

  swing:  JFileChooser类 + FileFilter类

  其中,基于Swing的解决方案功能更加强大,界面也更加美观。

3 利用FileReader/FileOutputStream拷贝中文文件出错?

  利用如下代码片断拷贝中文文件不会出错:

  int c;

  while ((c = MyFileReader.read()) != -1)

  MyFileWriter.write(c);

  利用如下代码片断拷贝中文文件会导致文件内容错误:

  int c;

  while ((c = MyFileReader.read()) != -1)

  MyFileOutputStream.write(c);

  造成这个问题的原因是:FileReader.read()返回一个int,其取值范围是

  0 到65535,通常来说是两个字节的;FileWriter.write(int c)向文件写

  入一个int,通常来说也是两个字节的,如果某个字符的高位字节为空,那

  么其高位字节将被舍弃;FileOutputStream.write(int b)虽然接受一个

  int作为参数,实际上只向文件写入一个字节,如果传递过来的参数是一个

  双字节的汉字,其高位字节将被舍弃,造成文件内容错误。

  建议:永远只使用InputStream/OutputStream进行io操作。

  利用如下代码片断拷贝中文文件不会出错:

  int c;

  while ((c = MyFileInputStream.read()) != -1)

  MyFileOutputStream.write(c);

4 如何显示和存储拉丁语言中的特殊字符

  使用统一码Unicode可以显示和存储拉丁语言中的特殊字符。具体应用范例

  如下:

  MyJTextArea.append("u00E1");

  MyJTextArea.append("u00E2");

  MyJTextArea.append("u00E3");

  MyJTextArea.append("u00E4");

  MyJTextArea.append("u00E5");

  MyFileOutputStream.write(MyJTextArea.getText().getBytes("UTF-8"));

  MyFileOutputStream.close();

  同样,在读取文件的时候也需要将读到的内容转换成统一码。

  byte[] b = new byte[MyFile.length()];

  FileInputStream in = new FileInputStream(MyFile);

  in.read(b);

  MyJTextArea.append(new String(b, "UTF-8"));

5 如何利用文件进行数据存取

  对于一般的科学计算应用程序,DatainputStream和DataOutputStream类通

  常是最好的选择。这两个类提供了存取各种数据的方法。下面的范例演示了

  构造DataInputStream和DataOutputStream的方法:

  MyDataInputStream  = new DataInputStream(

  new FileInputStream(MyInputFile));

  MyDataOutputStream = new DataOutputStream(

  new FileOutputStream(MyOutputFile));

  利用objectInputStream和ObjectOutputStream同样可以进行数据存取,需

  要注意的是这样做增加了硬盘的开销,因为进行对象序列化过程添加了一

  些额外的信息。在利用ObjectInputStream和ObjectOutputStream进行通讯

  的时候,虽然数据发收过程得到了大大简化,但是对带宽的要求也大大的

  提高了。

6 文件操作的基本原则是什么?

  a. 避免多次访问磁盘,例如一次读出n个字节就比每次读出1个字节的访问

  效率要高很多。

  b. 避免多次访问操作系统

  c. 避免多次调用文件存取方法。

  d. 避免将字节和字符混淆处理,在Java语言中字节与字符的概念是不一样

  的,在涉及到双字节字符的问题上更是容易出错。

7 如何获得可用的硬盘空间?

  目前尚未发现有任何干净利落的纯Java方法能够解决这个问题。通常的解

  决方案是直接访问操作系统获得这些信息。有一个被称为JConfig的类库提

  供了一些方法可以获得磁盘和文件信息,但是可以肯定这个类库使用了JNI

  方法。

  如果你使用的是晕倒死系列操作系统,那么下面的方法也许能够获得正确

  的结果。我之所以说也许,是因为我在多个晕倒死平台上作过实际测试

  在英文版的晕倒死上基本上都能够得到正确的结果,在中文版的晕倒死上

  基本上都不能够获得正确的结果。

  String osname = System.getProperty("os.name");

  String command = "";

  if (osname.indexOf("NT") > -1)

  command = "c:winntSystem32cmd.exe";

  else if (osname.indexOf("Windows") > -1)

  command = "c:windowscommand.com";

  Process p = Runtime.getRuntime().exec(

  command + " /c dir > c:dir.txt");

  p.waitFor();

  然后你需要做的是对得到的dir.txt文件进行分析。

  如果你使用的是unix/linux操作系统,你可以使用类似的方法来获得相关

  信息。建议使用的命令是df -k > dir.txt。

8 我能够用Java来格式化我的硬盘或者是软盘么?

  关于这个问题,想来在不久的将来仍然是不会有纯Java的解决方案了。如

  果你一定要在你的Java应用程序里面格式化你的C盘的话,下面的这个方法

  也许会有所帮助。当然,在你使用这个方法之前,请仔细备份好女朋友给你

  的情书或者是记下和下一个网友约会的日期。

  建立一个称为FORMatDrive.bat的文件,该文件必须放在当前目录或者是系

  统路径下,文件的内容如下:

  rundll32.exe shell32.dll, SHFormatDrive

  格式化硬盘的方法可以这样写:

  public void FormatDrive()

  {

  try

  {

  Process p = Runtime.getRuntime().exec("FormatDrive.bat");

  p.waitfor();

  } catch (Exception e)

  {

  System.out.println(e);

  }

  }

9 怎么知道我究竟有几个可用的存储设备?

  在UNIX/Linux下你通常没有必要关心这个问题,只要记住那个斜杠就可以了。

  在晕倒死下硬盘可以有多个逻辑分区,可应用下面的方法找出来:

  public void ListDisks()

  {

  File[] roots = File.listRoots();

  for (int i=0; i<roots.length; i++)

  {

  System.out.println(roots[i]);

  }

  }

到此,关于“Java操作文件与磁盘的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Java操作文件与磁盘的方法是什么

本文链接: https://lsjlt.com/news/232489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java操作文件与磁盘的方法是什么
    这篇文章主要介绍“Java操作文件与磁盘的方法是什么”,在日常操作中,相信很多人在Java操作文件与磁盘的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java操作文件与磁盘的方法是什么”的疑惑有所...
    99+
    2023-06-03
  • Python文件操作的方法是什么
    这篇文章主要介绍“Python文件操作的方法是什么”,在日常操作中,相信很多人在Python文件操作的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python文件操作的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-21
  • 文件IO操作的方法是什么
    本篇内容介绍了“文件IO操作的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!01/背景/已经过去的中间件性能挑战赛,和正在进行中的...
    99+
    2023-06-04
  • Golang操作TSV文件的方法是什么
    这篇“Golang操作TSV文件的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang操作TSV文件的方法是...
    99+
    2023-07-05
  • Java文件操作的方法
    这篇文章主要介绍“Java文件操作的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java文件操作的方法”文章能帮助大家解决问题。简介本程序主要采用了FileInputStream和FileOu...
    99+
    2023-06-30
  • linux下磁盘管理与挂载硬盘方法是什么
    这篇文章主要介绍“linux下磁盘管理与挂载硬盘方法是什么”,在日常操作中,相信很多人在linux下磁盘管理与挂载硬盘方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下磁盘管理与挂载硬盘方法...
    99+
    2023-06-26
  • vps磁盘分区的方法是什么
    VPS磁盘分区的方法通常有以下几种:1. 使用操作系统的磁盘分区工具:VPS提供的操作系统通常会自带磁盘分区工具,例如Linux系统...
    99+
    2023-08-20
    vps
  • win10划分磁盘的方法是什么
    在Windows 10中划分磁盘的方法有以下几种:1. 使用磁盘管理工具:按下Win + X组合键,然后选择"磁盘管理"。在磁盘管理...
    99+
    2023-08-21
    win10
  • Qt QFile文件操作的使用方法是什么
    本篇内容主要讲解“Qt QFile文件操作的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Qt QFile文件操作的使用方法是什么”吧!很多应用程序都需要具备操...
    99+
    2023-06-21
  • 电脑打印文件操作方法是什么
    今天小编给大家分享一下电脑打印文件操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。电脑打印文件步骤操作方法:首先...
    99+
    2023-07-01
  • Python OpenCV视频文件操作方法是什么
    今天小编给大家分享一下Python OpenCV视频文件操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-04
  • Linux 实现定时文件占用磁盘空间大小操作方法
    打开定时任务编辑,cent 默认使用vim直接打开。ubutun如果装了多种编辑器第一次打开的时候是指定编辑器的操作。 (3) */1 * * * * sh /root/Shell/monitor.sh 将这一行添加进...
    99+
    2022-06-04
    linux定时文件 linux磁盘大小
  • Java SpringBoot操作Redis的方法是什么
    这篇文章主要讲解了“Java SpringBoot操作Redis的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java SpringBoot操作Redis的方...
    99+
    2023-07-05
  • Oracle ASM磁盘组的卸载与删除的方法是什么
    本篇内容主要讲解“Oracle ASM磁盘组的卸载与删除的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle ASM磁盘组的卸载与删除的方法是...
    99+
    2024-04-02
  • rman换磁盘迁移的方法是什么
    本篇内容介绍了“rman换磁盘迁移的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!I先迁移数据文...
    99+
    2024-04-02
  • linux磁盘格式化的方法是什么
    Linux系统中可以使用多种方法进行磁盘格式化,以下是几种常见的方法:1. 使用mkfs命令:mkfs命令可以用来创建文件系统,在格...
    99+
    2023-09-16
    linux
  • ubuntu取消磁盘锁的方法是什么
    要取消Ubuntu上的磁盘锁,您可以按照以下步骤操作: 打开终端(Ctrl + Alt + T)。 输入以下命令以取消磁盘锁:su...
    99+
    2023-10-25
    ubuntu
  • Java API操作HDFS方法是什么
    这篇“Java API操作HDFS方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java AP...
    99+
    2023-07-05
  • R语言操作文件的方法什么
    这篇文章主要介绍“R语言操作文件的方法什么”,在日常操作中,相信很多人在R语言操作文件的方法什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言操作文件的方法什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-25
  • java文件操作的方法有哪些
    这篇文章主要讲解了“java文件操作的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java文件操作的方法有哪些”吧!文件的建立/检查与删除<%@ page="&q...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作