Java io流使用相对路径读取文件

article/2025/9/10 3:45:31

前言: 在大多数时候我们会需要Java程序读取某个文件,不采用绝对路径读取文件,而采用相对路径读取。方法如下:

在工程目录下读取文件:

文件目录:
在这里插入图片描述

/*** 工程目录下的相对路径读取文件数据*/
public void pathIO() throws IOException {String filePath = "src/iofile/file.txt";String line = "";FileReader fileReader = new FileReader(filePath);BufferedReader bufferedReader = new BufferedReader(fileReader);line = bufferedReader.readLine();while (line != null){line = bufferedReader.readLine();System.out.println(line);}
}

控制台
在这里插入图片描述

注意: 代码中文件路径“src”是必加的,若使用平常的相对路径,如:“…/iofile/file.txt”等相对路径,程序执行后会报找不到文件路径的错误,所以需加上src等字样。这种方法无论何时都得加一个工程目录,若是在cmd中使用jdk编译运行,岂不是很麻烦嘛?别急,看下一种方法。

非工程目录下的相对路径读取文件

这种方法属于取巧的,首先获取文件所在路径,然后依靠一系列的拼接裁剪字符串获得绝对路径,即可。

代码如下:

/*** 非工程目录下的相对路径获取文件数据* @throws IOException*/
public void noProcessPath() throws IOException {String filePath = getClass().getResource("file.txt").getPath();System.out.println("filePath: "+filePath);filePath = filePath.substring(1);   //裁剪字符串获得正确路径System.out.println("filePath: " + filePath);FileReader fileReader = new FileReader(filePath);BufferedReader bufferedReader = new BufferedReader(fileReader);String line = bufferedReader.readLine();while (line != null){line = bufferedReader.readLine();System.out.println(line);}
}

控制台:

在这里插入图片描述
总结:
至此,这篇笔记到此结束。


北京市需要租房或者转租房子,找舍友合租的都可以关注这个公众号哦,可帮忙发布房源信息,上面也有uu发布的转租信息呢。
请添加图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/meUcAD16.shtml

相关文章

java读取文件相对路径_Java相对路径读取文件

不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的。 项目的文件夹结构: repathtest ├─src │ └─com │ └─lavasoft │ ├─test │ …

相对路径

相对/绝对路径 顾名思义,相对路径是相对于当前文件的路径。一般是较简短的,那么我们为什么不直接使用绝对路径,也就是文件存放的真实路径,例如:C:\Microsoft\test.txt。 为什么要用相对路径? 当我们把整个…

IDEA FileInputStream 使用相对路径读写文件

最近学习反射机制的时候Properties.load()读取本地文件流的时候怎么也找不到加载文件后面发现IDEA的默认根目录是在它的Project工程下 IDEA 的文件目录和Eclipse 的不一样 同学们可看下图 相当于eclipse的工作空间下 所以就可根据 相对路径 目录 找到文件 上图 一目了然 jus…

C#语言和doNet框架

大家首先要清楚.NET平台与C#不是一回事.这点大家一定要明白,对开发人员来讲他有两个概念。第一,它是C#、VB.net等程序运行的平台。第二,它因为为这些语言提供了丰富的类库(称之为基类库).NET CLR是什么我们现在来一起看看吧。 NET CLR是什么 对于一个将要面向.NET平台进行开发…

CSharp: QuestPDF create pdf file in donet core 6

/// <summary>/// geovindu, Geovin Du,涂聚文 Edit/// </summary>public class DuModel {private string name;private int price, quantity;/// <summary>/// /// </summary>/// <param name"name"></param>/// <param…

DoNet开源项目-基于jQuery EasyUI的后台管理系统

本文转载于 石佳劼的博客&#xff0c;有问题请到原文咨询&#xff0c;原文连接。 博主在业余时间开发了一个简单的后台管理系统&#xff0c;其中用到了 jQuery EasyUI 框架&#xff0c;上次分享过系统布局&#xff0c;参考文章&#xff1a;jQuery EasyUI 后台管理系统布局分享…

脱离.Net Framework运行doNet程序的简单方法

脱离.Net Framework运行doNet程序的简单方法(Console) 在.Net Framework下&#xff0c;你就算写一个小小的控制台程序&#xff0c;哪怕只有几K大小&#xff0c;我们必须要安装一个几十M的Framework Runtime 当然&#xff0c;现在也有一个商业的解决方案&#xff0c;来脱离框架…

ubuntu安装dotnet

ubuntu安装.net 使用包安装 将 Microsoft 包签名密钥添加到受信任密钥列表&#xff0c;并添加包存储库。 wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb…

C#: //todo

最近在看前辈留下来的祖传代码&#xff0c;发现里面有很多//todo的标记&#xff0c;在此进行一下说明。 简单来说&#xff0c;//todo就类似于我们看书时使用的书签&#xff0c;当我们为了某种功能预留下编程的入口&#xff0c;但是短时间内又没时间完成代码时就可以留下一个//…

DONET开发

导读&#xff1a; 摘要&#xff1a;本文给出了在C#下利用正则表达式实现字符串搜索功能的方法&#xff0c;通过对.NET框架下的正则表达式的研究及实例分析&#xff0c;总结了正则表达式的元字符、规则、选项等。 关键字&#xff1a;正则表达式、元字符、字符串、匹配 1、正则表…

DoNet:浅淡对delegate的理解

1 前言 C#的相关文档&#xff0c;MSDN上其实已经很详细了&#xff0c;关于delegate的使用可以参 考MSDN上的文档https://msdn.microsoft.com/zh-cn/library/900fyy8e.aspx 2 官方示例 委托类型的声明与方法签名相似&#xff0c; 有一个返回值和任意数目任意类型的参数&…

DotNetBar

在网上看到一个开源的软件&#xff0c;下载之后发现其界面风格与office 2007类似&#xff0c;看着比较美观。于是下载下来了源代码&#xff0c;进行研究&#xff0c;在代码使用了DotNetBar组件。 简介 DotNetBar组件提供了office 2007风格的用户界面组件&#xff0c;相对于.n…

dotnet命令(不掌握)

安装好.Net Core SDK后就可以使用dotnet命令。 dotnet命令 命令解释dotnet命令本身&#xff0c;可以使用dotnet app.dll运行应用dotnet build生成.NET Core应用程序dotnet clean清理项目生成的输出dotnet new为给定的模板初始化C#或F#项目dotnet pack创建代码的NuGet包dotnet p…

Donate

如果感觉部分文章对你产生了很大的帮助&#xff0c;可以使用下面的支付宝链接进行捐助&#xff1a;You can buy me a coffee:) 可以去https://qr.alipay.com制作自己的支付二维码

细胞实例分割:DoNet: Deep De-overlapping Network for Cytology Instance Segmentation 论文阅读笔记

细胞实例分割&#xff1a;DoNet: Deep De-overlapping Network for Cytology Instance Segmentation 论文阅读笔记 一、Abstract二、引言三、相关工作细胞学实例分割遮挡实例分割 四、方法4.1 预览问题概述工作流程粗糙的 Mask 分割 4.2 解耦合和重组策略双路径区域分割模块 Du…

DotNET框架

1.1 .NET的诞生 DotNET(以下称.NET) 2002年&#xff0c;微软发布了.NET框架的第一个版本&#xff0c;称其实现了下一代系统的目标。.NET框架是一种比MFC和COM编程技术更抑制并面向对象的环境。 具备以下特点&#xff1a; 多平台 行业标准 安全…

donet学习笔记7(数据库的增删改查.dataview的运用)

&#xff11;&#xff0e;数据库前台设计&#xff1a;非常简单&#xff0c;建立一个表即可 create table person( pID varchar ( 10 ) primary key , personName varchar ( 20 ) not null , personSex varchar ( 2 ) ,) &#xff12;&#xff0e;前台设计&#xff1a; …

OpenCV学习笔记:KeyPoint和DMatch数据结构详解

近期事情太多了&#xff0c;课业也繁多&#xff0c;好久没更了&#xff0c;今天对OpenCV中经常用到的一些数据类型的结构进行一波分析&#xff0c;为自己做记录的同时也分享给大家。闲言少叙&#xff0c;开始操作。 一、KeyPoint 数据结构 angle //关键点的方向&#x…

The Center of Attention: Center-Keypoint Grouping via Attention for Multi-Person Pose Estimation

该论文发表于ICCV2021 本文是将Transformer应用于关键点分组的创新工作。实际上是自底向上方法中分组操作的优化&#xff0c;利用Transformer进行关键点分组&#xff0c;达到端到端训练与加快模型推理速度的效果。并且&#xff0c;在拥挤图像中&#xff0c;该方法能够拥有更好…

计算机视觉论文速递(六)GANet: A Keypoint-based Global Association Network for Lane Detection 基于关键点建模的全局关联网络

计算机视觉论文速递&#xff08;六&#xff09;GANet: A Keypoint-based Global Association Network for Lane Detection 基于关键点建模的全局关联网络 1. 摘要2. 方法动机3. 方法介绍3.1 车道线构建-全局关键点关联3.1.1关键点预测3.1.2 偏移量预测3.1.3 起始点采样 3.2 车道…