当前位置:首页 » 编程语言 » java读取指定文件

java读取指定文件

发布时间: 2023-05-19 15:49:33

java怎么读取文档中指定内容

package com.lwj.demo;

import java.io.*;
public class RandomAccessFileDemo {
public static void main(String[] args) throws Exception {
RandomAccessFile file = new RandomAccessFile("file", "rw");
// 以下向file文件中写数据
file.writeInt(20);// 占4个字节
file.writeDouble(8.236598);// 占8个字节
file.writeUTF("这是一个UTF字符串");// 这个长度写在当前文件指针的前两个字节处,可用readShort()读取
file.writeBoolean(true);// 占1个字节
file.writeShort(395);// 占2个字节
file.writeLong(2325451l);// 占8个字节
file.writeUTF("又是一个UTF字符串");
file.writeFloat(35.5f);// 占4个字节
file.writeChar('a');// 占2个字节

file.seek(0);// 把文件指针位置设置到文件起始处

// 以下从file文件中读数据,要注意文件指针的位置
System.out.println("——————从file文件指定位置读数据——————");
System.out.println(file.readInt());
System.out.println(file.readDouble());
System.out.println(file.readUTF());

file.skipBytes(3);// 将文件指针跳过3个字节,本例中即跳过了一个boolean值和short值。
System.out.println(file.readLong());

file.skipBytes(file.readShort()); // 跳过文件中“又是一个UTF字符串”所占字节,注意readShort()方法会移动文件指针,所以不用加2。
System.out.println(file.readFloat());
}
}

❷ 用java怎么从指定文件中的指定位置开始读取

FileInputStream fis = FileInputStream(File file);指定文件
fis.skip(long n);指定位斗森置
byte[] bs = new byte[int length]; 指搭庆定长度知销握
fis.read(bs); 得到内容

❸ 求大神帮我做java题目:读取指定的文本文件,加密后写入另一个文件。

按照你的要求编写简单加密(把每个英文字母向后移动3个字母)的Java程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class CA {
public static void main(String[] args) {
BufferedReader br = null;//定义一个缓存读取类
BufferedWriter bw = null;//定义一个缓存写入类
try {
File f_Source=new File("source.txt");//原始文件
br=new BufferedReader(new FileReader(f_Source));//从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
File f_Target=new File("target.txt");//目标文件
bw=new BufferedWriter(new FileWriter(f_Target));//将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
String s="";//定义一个临时变量,临时存储每行的文老拆本
while((s=br.readLine())!=null){//读取文件中的每一行并存入临时变量s,直到文件末尾.
s=s.trim();//去侍正枣掉每行前后的空格
String str="";//定义一个临时变量,准备写入的一行文本
for(int i=0;i<s.length();i++){//遍历这一行文本的每个字符
char ch=s.charAt(i);//把这一行文本的中一个字符赋给一个字符变量
if(Character.isLetter(ch)){//如果这个字符是字母
if(Character.isUpperCase(ch)){//如清如果这个字符是大写字母
if(ch-'A'+3>25){//如果这个字符向后移3个字符大于Z
ch=(char) ('A'+(ch-'A'+3)%26);//这个字符从A向后移相应的字符
}else{//如果这个字符向后移3个字符不大于Z
ch=(char) (ch+3);//这个字符向后移3个字符
}
}
if(Character.isLowerCase(ch)){//如果这个字符是小写字母
if(ch-'a'+3>25){//如果这个字符向后移3个字符大于z
ch=(char) ('a'+(ch-'a'+3)%26);//这个字符从a向后移相应的字符
}else{//如果这个字符向后移3个字符不大于z
ch=(char) (ch+3);//这个字符向后移3个字符
}
}
}
str=str+ch;//把每个加密或没加密的字符重新拼装成一行字符串
}
bw.write(str);//把这一行字符串写入目标文件
bw.newLine();//目标文件写入换行符
}
} catch (Exception e) {//捕获异常
e.printStackTrace();//输出异常信息
}finally{
try {
bw.close();//关闭写入缓冲流
br.close();//关闭读取缓冲流
} catch (Exception e) {//捕获异常
e.printStackTrace();//输出异常信息
}
}
System.out.println("文件加密完毕!");
}
}

运行结果:
source.txt文件内容
we are the world.
abc xyz.
target.txt文件加密内容
zh h wkh zruog.
def abc.

❹ java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~

publicstaticList<File>getFiles(Stringpath){
Fileroot=newFile(path);
备链List<File>files=newArrayList<File>();
if(!root.isDirectory()){
files.add(root);
}else{
File[]subFiles=root.listFiles();
for(Filef:subFiles){
裤滚培 files.addAll(getFiles(f.getAbsolutePath()));
}
}
returnfiles;
}

publicstaticvoidmain(String[]胡唯args){
List<File>files=getFiles("D:\usr\local\java\jdk1.6.0_30");
for(Filef:files){
System.out.println(f.getName());
}
}

大概就是这样了,没有做异常处理,自己看着办~

❺ java读取指定目录下的文件内容

publicclassReadFromFile{
/**
*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*/
(StringfileName){
Filefile=newFile(fileName);
InputStreamin=null;
try{
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
//一次读一个字节
in=newFileInputStream(file);
inttempbyte;
while((tempbyte=in.read())!=-1){
System.out.write(tempbyte);
}
in.close();
}catch(IOExceptione){
e.printStackTrace();
return;
陆雹}
try{
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
//一次读多个字节
byte[]tempbytes=newbyte[100];
intbyteread=0;
in=newFileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//读入多个字节到字节数组中,byteread为一次读入的字节数
while((byteread=in.read(tempbytes))!=-1){
System.out.write(tempbytes,0,byteread);
}
}catch(Exceptione1){
e1.printStackTrace();
}finally{
if(in!=null){
try{
in.close();
}catch(IOExceptione1){
}
}
}
}

/**
*以字符为单位读取文件,常用于读文本,数字等类型的文件
*/
(StringfileName){
Filefile=newFile(fileName);
Readerreader=null;
try{
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
//一次读一个字符
reader=newInputStreamReader(newFileInputStream(file));
inttempchar;
while((tempchar=reader.read())!=-1){
//对于windows下, 这两个字符在一起时,表示一个换行。
//但如果这两个字符分开显示时,会换两次行。
铅纤//因此,屏蔽掉 ,或者屏蔽 。否则,将会多出很多空行。
if(((char)tempchar)!=' '){
System.out.print((char)tempchar);
}
}
reader.close();
}catch(Exceptione){
e.printStackTrace();
}
try{
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
//一次读多个字符
char[]tempchars=newchar[30];
intcharread=0;
reader=newInputStreamReader(newFileInputStream(fileName));
//读入多个字符到字符数组中,charread为一次读取字符数
while((charread=reader.read(tempchars))!=-1){
//同样屏蔽掉 不显示
if((charread==tempchars.length)
&&(tempchars[tempchars.length-1]!=' ')){
早激帆System.out.print(tempchars);
}else{
for(inti=0;i<charread;i++){
if(tempchars[i]==' '){
continue;
}else{
System.out.print(tempchars[i]);
}
}
}
}

}catch(Exceptione1){
e1.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
}

/**
*以行为单位读取文件,常用于读面向行的格式化文件
*/
(StringfileName){
Filefile=newFile(fileName);
BufferedReaderreader=null;
try{
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader=newBufferedReader(newFileReader(file));
StringtempString=null;
intline=1;
//一次读入一行,直到读入null为文件结束
while((tempString=reader.readLine())!=null){
//显示行号
System.out.println("line"+line+":"+tempString);
line++;
}
reader.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
}

/**
*随机读取文件内容
*/
(StringfileName){
RandomAccessFilerandomFile=null;
try{
System.out.println("随机读取一段文件内容:");
//打开一个随机访问文件流,按只读方式
randomFile=newRandomAccessFile(fileName,"r");
//文件长度,字节数
longfileLength=randomFile.length();
//读文件的起始位置
intbeginIndex=(fileLength>4)?4:0;
//将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[]bytes=newbyte[10];
intbyteread=0;
//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
//将一次读取的字节数赋给byteread
while((byteread=randomFile.read(bytes))!=-1){
System.out.write(bytes,0,byteread);
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(randomFile!=null){
try{
randomFile.close();
}catch(IOExceptione1){
}
}
}
}

/**
*显示输入流中还剩的字节数
*/
(InputStreamin){
try{
System.out.println("当前字节输入流中的字节数为:"+in.available());
}catch(IOExceptione){
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args){
StringfileName="C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}

❻ 用java如何读取linux中的某个文件

java是跨平台语言,在linux上读文件跟在windows上读文件是一样的 只是文件路径不一样,可以用File对象和FileInputSteam来读取。但要注意文件编码问题。
如果有中文请做适当的编码转换,通常情况下Linux的默认字符编码为UTF-8编码方式,项目可以直接采用utf8编码方式操作.用System.getProperty("file.encoding")可检查系统编码格式。可改操作系统的文件系统编码,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
编码转换代码:new String(files[i].getName().getBytes("GBK"),"UTF-8");

文件操作的核心代码请参考下面代码:

String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");

//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;

BufferedReader input = new BufferedReader (new FileReader(tempList[i]));

while((text = input.readLine()) != null)
buffer.append(text +"/n"); }

if (tempList[i].isDirectory()) {
System.out.println("文件夹:"+tempList[i]);
}
}

❼ java中怎样从一个文件中读取文件信息

java读取文件路径、所占空间大小等文件消息,主要是使用FileInputStream类来操作,示例如下:

importjava.io.File;
importjava.io.FileInputStream;

publicclassceshi{
publicstaticvoidmain(String[]args)throwsException{

java.io.FilelocalFile=newFile("D:\1.txt");
FileInputStreamins=newFileInputStream(localFile);
intcountLen=ins.available();
byte[]m_binArray=newbyte[countLen];
ins.read(m_binArray);
ins.close();
System.out.println(localFile.getAbsoluteFile()+""
+localFile.getFreeSpace());
}
}

运行结果如下:

❽ java 怎么获取指定路径下的文件

//根据你的要求修改了一下代码,现在已经能将某文件夹下的所有指定类型文件复制到
//指定文件夹下了
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class ReadFiles {
public static final String FILTER = "xml";
public static final String SRC_DIR = "E:\\StudyData";// 待扫描的文件夹
public static final String DES_DIR = "E:\\testdata";// 复制后的目标文件夹

public static void main(String[] args) {
long a = System.currentTimeMillis();
scanDir(SRC_DIR, DES_DIR);
System.out.println("共花费时间:"+(System.currentTimeMillis() - a)/1000+"秒");
}

public static void scanDir(String srcPath, String desPath) {
File dir = new File(srcPath);
File[] files = dir.listFiles();

if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
scanDir(files[i].getAbsolutePath(), desPath);
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
File(strFileName, desPath + files[i].getName());
}
}
}

public static void File(String srcName, String destName) {
if (srcName.endsWith(FILTER)) {
System.out.println("正在复制文件 "+srcName+" 至 "+destName);
try {
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(srcName));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(destName));
int i = 0;
byte[] buffer = new byte[2048];
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.close();
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}

❾ Java打开指定文件

java打开文件夹使用方法:氏胡
String strTmp= "D:\abc\"歼腊拦;
Runtime.getRuntime().exec("explorer.exe" + strTmp);
java读取文件使用方法:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class OpenFile {
public static void main(String args[]) {
try {
BufferedReader br = new BufferedReader(new FileReader("c://局嫌EmailSpider.java"));
String line = "";
while((line=br.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

❿ Java实现获取指定路径下的指定格式的文件

获取指定路径下的指定格式的文件

package filenameFilter;

import java io File;

/* * 实现功能 *

获取指定路径下的指定格式的文件

* */

public class Test {

public static void listPath(File file) {

// 接收筛选过后的文件对象数组

//用文件对象调用listFiles(FilenameFilter filter) 方法

//返回抽象路径名数组 这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录

File files[] = file listFiles(new MyFilenameFilter())

/*//遍历出指定文件路径下符合条件的文件

for (File f : files) {

System out println(f)

}*/

//遍历出指定文件路径下的所有符合筛选条件的文件

for(File f: files){

if(f isDirectory()){

listPath(f)

}else{

System out println(f)

}

}

}

public static void main(String[] args) {

// 创建指定目录的文件对象

File file = new File( F:\test )

// 调用文件晒筛选的方法 并将文件对象出入

listPath(file)

} }

package filenameFilter;

import java io File;

import java io FilenameFilter;

//实现FilenameFilter接口 可用于过滤器文件名 //本方法实现的是筛选指定格式结尾的文件 public class MyFilenameFilter implements FilenameFilter {

/**

* @param args

*

*

实现功能 实现FilenameFilter接口 定义出指定的文件筛选器

*

*/

@Override

//重写accept方法 测试指定文件是否应该包含在某一文件列表中

public boolean accept(File dir String name) {

// TODO Auto generated method stub

// 创建返回值

boolean flag = true;

// 定义筛选条件

//endWith(String str) 判断是否是以指定格式结尾的

if (name toLowerCase() endsWith( jpg )) {

} else if (name toLowerCase() endsWith( txt )) {

} else if (name toLowerCase() endsWith( gif )) {

} else {

flag = false;

}

// 返回定义的返回值

//当返回true时 表示传入的文件满足条件

return flag;

}

lishixin/Article/program/Java/hx/201311/26918

热点内容
我的世界撸树服务器 发布:2025-05-20 10:33:37 浏览:739
ftp搭建win7 发布:2025-05-20 10:06:06 浏览:82
访问坚果 发布:2025-05-20 10:06:02 浏览:394
ftpxlight 发布:2025-05-20 10:05:22 浏览:111
java的实验报告 发布:2025-05-20 10:02:06 浏览:528
豪华配置高电动轿车有哪些 发布:2025-05-20 10:01:59 浏览:487
哪些电脑配置低 发布:2025-05-20 09:34:16 浏览:955
地板网站源码 发布:2025-05-20 09:27:23 浏览:346
安卓视频转换器怎么使用 发布:2025-05-20 09:20:52 浏览:544
telnet批量脚本 发布:2025-05-20 09:11:58 浏览:628