Java的文件与磁盘操作

磁盘管理程序 可以实现磁盘管理 操作系统 操作系统中有磁盘管理的功能,本案例实现对磁盘的管理,用java编程,简单易懂 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 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 方法。 下载地址:http://www.tolstoy.com/samizdat/jconfig.html 如果你使用的是晕倒死系列操作系统,那么下面的方法也许能够获得正确 的结果。我之所以说也许,是因为我在多个晕倒死平台上作过实际测试, 在英文版的晕倒死上基本上都能够得到正确的结果,在中文版的晕倒死上 基本上都不能够获得正确的结果。 String osname = System.getProperty("os.name"); String command = ""; if (osname.indexOf("NT") > -1) command = "c://winnt//System32//cmd.exe"; else if (osname.indexOf("Windows") > -1) command = "c://windows//command.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
java写的模拟操作系统磁盘管理系统程序 用java写的操作系统的磁盘管理程序,有详细的源代码和代码注释,如有错漏,欢迎指正………… 立即下载

相关推荐

Python量化交易实战:如何用pytdx库快速解析通达信.day文件(附完整代码)

本文详细介绍了如何使用Python的pytdx库高效解析通达信.day本地数据文件,构建免费、稳定的量化交易数据源。文章提供了从环境配置、基础数据读取、复权处理到板块信息获取的完整实战代码,并演示了如何将处理后的数据无缝接入Backtrader等回测框架,为量化策略开发提供可靠的数据基础。

ppp33的博客 1143

Java磁盘操作

我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。而Java就提供了一个类File供我们使用。File:用于表示文件和目录的信息,但是它不表示文件的内容。本文由博客一文多发平台。

2301_81199249的博客 464

用RFSoC ZU47DR搭建软件无线电原型:从零配置Vivado到生成第一个射频信号

本文详细介绍了如何使用Xilinx RFSoC ZU47DR开发板搭建软件无线电原型系统,从Vivado环境配置到生成首个射频信号的全流程。通过整合ARM处理器、FPGA逻辑和高速ADC/DAC,该平台为通信算法验证提供了高效解决方案,特别适合SDR开发者和通信工程师快速实现原型设计。

weixin_26763955的博客 589

文件与磁盘空间管理

文件和文件系统 文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。 1)基本概念 数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。 记录:一组相关数据项集合,描述对象某方面的属性; 关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。 文件:由创建者定义的、具有文件名的一组相关元素的集合。 有结构:由相关记录组成 无结构:字...

zy702432103的博客 1634

第十二节:C#工业控制编程基础--输出正弦波实验

第十二节:基于c#使用开发板输出正弦波实验 文章目录第十二节:基于c#使用开发板输出正弦波实验一、实验目的:了解采集卡DA相关函数的使用。二、实验内容:利用C#生成正弦波,然后用采集卡DA输出。三、实验步骤:1.打开Visual Studio 2013,新建窗体应用程序项目,配置好板卡dll文件。2.在窗体中放入控件,对控件进行布局排版,并修改他们的Name属性和Text属性。3.在Chart控件内选择Spline型图表,如图2。4.进入编程区域,在public partial class Form1 :

weixin_49237052的博客 2295

AGM Supra软件从零到一:国产CPLD工程创建全流程拆解

本文详细拆解了AGM Supra软件从零开始创建国产CPLD工程的全流程,包括开发环境配置、工程创建、Quartus项目转换、TCL脚本执行与编译等关键步骤。特别强调了中文路径避坑、器件型号选择等实用技巧,帮助开发者高效完成CPLD开发任务。

weixin_29158413的博客 410

Java中的文件与磁盘操作技术详细解析

1 如何获得某一个目录下的文件列表?File MyDir = new File("C:/Windows/.");String[] FileNames = MyDir.list();   2 如何实现一个打开文件或者是存储文件对话框?  AWT: FileDialog类 + FilenameFilter类  Swing: JFileChooser类 + FileFilter类

Write One,Run Everywhere 1567

非球面检测

摘要:非球面镜检测主要采用干涉法,包括零位补偿和非零位补偿两种方式。零位补偿通过透镜组完全校正像差,精度达1%波长,但设计复杂成本高;非零位补偿利用部分像差补偿降低波前斜率,适用于规则非球面。折射-衍射混合补偿镜能同时校正多种像差。实际检测中可采用物理补偿镜或动态CGH加载方案,光路设计需运用坐标断点和多重结构技术实现复杂光路建模。不同方法各具优势,需根据检测需求选择合适方案。

Zhaxibamao的博客 2106

操作系统与磁盘交互的细节

文件=内容+属性,这些都是数据,在linux下采用的是内容和属性数据分开存的策略。

想让你搞懂的博客 1194

gem5-gpu教程01 部署(实测可跑通)

这将GPGPU-Sim更新为与gem5-gpu兼容的最新版本。此版本是已知可用于gem5 gpu的最新版本。

qq_20388971的博客 1404

(五)C++自制植物大战僵尸游戏LoadingScene的实现讲解

游戏启动后就会立即切换到游戏加载场景中。只有游戏资源文件加载完成后,才能进入游戏。Loadingscene类继承Cocos2d-x中的Scene父类,表明Loadingscene是一个场景类。切换到LoadingScene场景中,首先会创建该场景,会调用函数,在该函数中调用自己定义的方法实现指定功能。代码文件的位置如下图所示。

尔灵尔亿的博客 2006

JAVA中的磁盘操作

1.Java中的磁盘操作 package cn.itcast.Day16; import java.io.File; //文件遍历,并得到.java的文件 public class DiGuiThree { public static void main(String[] args) { File file=new File("C:\\Users\\cs\\De...

执迷于技术和算法,让我们一起成长 596

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

SMTH Java FAQ (3) 文件与磁盘操作(菜鸟必看) (转)

SMTH Java FAQ (3) 文件与磁盘操作(菜鸟必看) (转)[@more@]1 如何获得某一个目录下的文件列表? File MyDir = new File("C:/windows/."); S...

csd3176的博客 100

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Java的文件与磁盘操作(转载)

1 如何获得某一个目录下的文件列表?   1 File MyDir = new File("C:/Windows/." ); 2  3 String[] FileNames = MyDir.list();  2 如何实现一个打开文件或者是存储文件对话框? 1 AWT: FileDialog类 +  FilenameFilter类 2  3 Swing: JFileCho...

luky_dog888的专栏 229

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java IO(二、磁盘操作)

java IO 知识梳理,磁盘操作部分

weixin_55120597的博客 706

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SMTH Java FAQ (3) 文件与磁盘操作(菜鸟必看)

1 如何获得某一个目录下的文件列表?     File MyDir = new File("C:/Windows/.");   String[] FileNames = MyDir.list();   2 如何实现一个打开文件或者是存储文件对话框?     AWT:    FileDialog类 + FilenameFilter类   Swing:  JFileCh

xxcc的专栏 1027
上一篇: Java的数据转换
下一篇: 关于VJ 的个人看法
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值