Java如何读取src下的txt文件

Java如何读取src下的txt文件,第1张

比如你的一个txt文件放在F盘下:

File f = new File(F:\\tabletxt)

试试

File file = new File("/src/atxt");

最原始的方法可以遍历所有盘符文件

public class Path

{

private final List<File> list=new ArrayList<File>();

private String directory;

public Path(String s)

{

thisdirectory=s;

}

private void genPath()

{

File[] roots=FilelistRoots();

for(File root:roots)

searchExists(root);

}

private void searchExists(File file)

{

String tempPath=filegetAbsolutePath();

if(tempPathcontains(directory)

&&(tempPathsubstring(tempPathlastIndexOf(directory))equals(directory)))

listadd(file);

if(fileisDirectory()&&filelist()!=null)

{

File[] files=filelistFiles();

for(File f:files)

{

searchExists(f);

}

}

}

public void listPath()

{

genPath();

for(File file:list)

Systemoutprintln(filegetAbsolutePath());

}

public static void main(String[] args) throws UnsupportedEncodingException

{

Path p=new Path("CS16");

plistPath();

}

}

测试正确,但性能太差,考虑用好的文件查找算法和多线程来作

1、文件基本认知

谈到文件无疑是从我们知道的开始说,狭义认知针对硬盘这种持久化存储的IO设备,当我们进行数据保存时,往往不是以以这个整体(一块内容)来保存的,而是单独保存的,这个独立的单位就在计算机中被抽象为文件的概念。

狭义:简单说就是硬盘上的文件 和 目录

文件除了有数据内容之外,还有一部分信息,例如文件名,文件类型,文件大小等并不作为文件数据类型而存在,这类信息就是文件的元信息。

广义:计算机中的软硬件资源

文件类似树结构一个文件下包含多个文件,当前文件有包含多个子文件,像树枝一样

文件的基本就是以上,没有什么特别的;

文件主要跟我们写代码有关系,之前我们写的代码,存储数据,主要是靠变量,变量是在内存中的。文件是在硬盘上的,本话题主要是如何实现代码与文件交接

11、文件路径

每个文件,在硬盘上都有一个具体的“路径”;

testtxt文件的路径 ,叫做E:/Test/testtxt表示一个文件的具体位置路径,就可以使用/来分割不同的目录级别

这里注意细节的友友们,会看到上使用的是反斜杠(\)但是我上面打出来是 斜杠(/)

问题为什么不一样?这样写的意义是什么?

(1)其实两种写法都可以,都是对的,可以尝试一下斜杠

(2)其次就是在java中尽量写 斜杠表示法 。为什么???

因为代码去写反斜杠的不方便

例如 :java中代码:String path="E:\Test\testtxt"; 现在的\T就以个转义字符

斜杠与反斜杠肯定是有由来的 ,最早期的DOS系统使用过反斜杠 ,后来又改成了斜杠再后来Windows也继承了这样的设定。

刚刚事例中的文件路径开头都有一个大写字母C:、D:或者E:都叫做“盘符”,当然写小写也是可以的,都能起作用,盘符是通过“硬盘分区”来的,每个盘符可以单独的占一个硬盘,也可以若干个盘符占一个硬盘。

有个稀奇的问题,为啥没有a:,b:盘符?

有,但是出现的比较早,现在已经淘汰了,这样的盘符在之前叫做软盘,存储空间对于现在来说太小了只有几MB,所以喜欢了可以买个收藏

12、相对路径

因为绝对路径就是在“文件路径”标题下,以盘符开头的路径

相对路径:以当前所在的目录为基准,或者以开头(也可以以开头),找到指定路径

当前目录也称为工作目录,每个程序运行的时候,都有一个工作目录,这里来看一下相对路径是个啥,在控制台执行 打开控制台 win+r 然后输入cmd

使用sigar,

private static void file() throws Exception {

Sigar sigar = new Sigar();

FileSystem fslist[] = sigargetFileSystemList();

for (int i = 0; i < fslistlength; i++) {

Systemoutprintln("分区的盘符名称" + i);

FileSystem fs = fslist[i];

// 分区的盘符名称

Systemoutprintln("盘符名称: " + fsgetDevName());

// 分区的盘符名称

Systemoutprintln("盘符路径: " + fsgetDirName());

Systemoutprintln("盘符标志: " + fsgetFlags());//

// 文件系统类型,比如 FAT32、NTFS

Systemoutprintln("盘符类型: " + fsgetSysTypeName());

// 文件系统类型名,比如本地硬盘、光驱、网络文件系统等

Systemoutprintln("盘符类型名: " + fsgetTypeName());

// 文件系统类型

Systemoutprintln("盘符文件系统类型: " + fsgetType());

switch (fsgetType()) {

case 0: // TYPE_UNKNOWN :未知

break;

case 1: // TYPE_NONE

break;

case 2: // TYPE_LOCAL_DISK : 本地硬盘

// 文件系统总大小

FileSystemUsage usage = null;

usage = sigargetFileSystemUsage(fsgetDirName());

Systemoutprintln(fsgetDevName() + "总大小: " + usagegetTotal() + "KB");

// 文件系统剩余大小

Systemoutprintln(fsgetDevName() + "剩余大小: " + usagegetFree() + "KB");

// 文件系统可用大小

Systemoutprintln(fsgetDevName() + "可用大小: " + usagegetAvail() + "KB");

// 文件系统已经使用量

Systemoutprintln(fsgetDevName() + "已经使用量: " + usagegetUsed() + "KB");

double usePercent = usagegetUsePercent() 100D;

// 文件系统资源的利用率

Systemoutprintln(fsgetDevName() + "资源的利用率: " + usePercent + "%");

break;

case 3:// TYPE_NETWORK :网络

break;

case 4:// TYPE_RAM_DISK :闪存

break;

case 5:// TYPE_CDROM :光驱

break;

case 6:// TYPE_SWAP :页面交换

break;

}

}

return;

}

以上就是关于Java如何读取src下的txt文件全部的内容,包括:Java如何读取src下的txt文件、如何用java代码得到文件夹的路径(即一个方法,输入文件夹名称,返回路径)、java写文件,如果path没有盘符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10155814.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存