「java创建文件流路径」java生成文件路径

博主:adminadmin 2022-12-24 10:48:09 67

本篇文章给大家谈谈java创建文件流路径,以及java生成文件路径对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA创建文件时的路径问题

我们在电脑中右键的C:\Documents and Settings\Administrator 中的\是路径分隔符,但在程序中不能直接用!

\ 在java里是转义字符,所以要用\\ 两个反斜杠来表示下一级目录,但是\\ 在windows下可以这样用,但在linux下就不行了,所以用 / 来代替,/ 和 \\ 是一样的~~~

要是你这俩用的都不爽,你就用File.separator 这个能获取与系统有关的默认名称分隔符

例如:

String separator = File.separator;

String filename = "11.txt";

String directory = "a" + separator + "b";

File f = new File(directory, filename);

你试试看~~~

mac系统,java编程中文件流的路径是如何写的

看看这个,我昨天刚写的: import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;public class AddList {

private String filePath = "";

private String bakPath = "";

private String content = "";

Scanner sc = new Scanner(System.in);

public String readFile(){

content = "";

if (isNull(filePath)) {

System.out.println("文件存储路径:");

filePath = sc.nextLine();

}

File file = new File(filePath);

FileReader fr = null;

try {

if (file.exists()) {

fr = new FileReader(file);

char[] chars = new char[1024];

int n = 0;

while((n = fr.read(chars)) != -1){

String string = new String(chars, 0, n);

content = content + string;

}

} else {

System.out.println("文件不存在");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (fr != null) {

try {

fr.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return content;

}

public void writeFile(String path){

File file = new File(path);

FileOutputStream fos = null;

mkDirs(path);

try {

fos = new FileOutputStream(file);

BufferedOutputStream bos = new BufferedOutputStream(fos);

PrintWriter pw = new PrintWriter(bos, true);

pw.print(content);

pw.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} finally {

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public void writeFile(){

if (isNull(filePath)) {

System.out.println("文件存储路径:");

filePath = sc.nextLine();

}

File file = new File(filePath);

FileOutputStream fos = null;

mkDirs(filePath);

try {

fos = new FileOutputStream(file);

BufferedOutputStream bos = new BufferedOutputStream(fos);

PrintWriter pw = new PrintWriter(bos, true);

pw.print(content);

pw.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} finally {

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public void mkDirs(String filepath){

if (filepath.indexOf("\\") != -1) {

filepath = filepath.replaceAll("\\", "/");

}

int n = filepath.indexOf("//");

String path = filepath.substring(0, n) + "//";

filepath = filepath.substring(filepath.indexOf("//") + 1, filepath.length());

String[] files = filepath.split("/");

for (int i = 0; i files.length - 1; i++) {

path = path + files[i];

File file = new File(path);

if (!file.exists()) {

file.mkdir();

}

}

}

public void addImfor(){

System.out.println("--------增加记录---------");

String name = "";

String tel = "";

String email = "";

content = readFile();

while(true){

System.out.println("姓名:");

name = sc.next();

System.out.println("电话:");

tel = sc.next();

System.out.println("Email:");

email = sc.next();

content = content + name + "" + tel + "" + email +"==";

System.out.println("0、Exit 1、继续");

int i = sc.nextInt();

if (i == 0) {

break;

}

}

writeFile();

}

public void deleteImfor(){

System.out.println("---------删除记录---------");

String name = "";

String[] imfors = null;

content = readFile();

while(true){

System.out.println("你要删除的姓名是:");

name = sc.next();

if (content.indexOf(name) != -1) {

imfors = content.split("==");

for (int i = 0; i imfors.length; i++) {

if (imfors[i].indexOf(name) != -1) {

imfors[i] = "";

}

}

content = "";

for (int i = 0; i imfors.length; i++) {

if (!isNull(imfors[i])) {

content = content + imfors[i] + "==";

}

}

writeFile();

System.out.println("删除成功");

} else {

System.out.println("此人不存在");

}

System.out.println("0、Exit 1、继续");

int i = sc.nextInt();

if (i == 0) {

break;

}

}

}

public void viewAll(){

System.out.println("----------显示所有------------");

content = readFile();

if (!isNull(content)) {

String[] imfors = content.split("==");

System.out.println("姓名\t电话\tEmail");

for (int i = 0; i imfors.length; i++) {

String[] imfor = imfors[i].split("");

for (int j = 0; j imfor.length; j++) {

System.out.print(imfor[j] + "\t");

}

System.out.println();

}

} else {

System.out.println("暂时还没有记录");

}

}

public void queryImfor(){

System.out.println("----------查找记录-----------");

content = readFile();

if (!isNull(content)) {

String result = "";

String[] imfors = null;

String[] imfor = null;

String name = "";

boolean bool = false;

while(true){

result = "";

System.out.println("请输入关键字(按姓名查找):");

name = sc.next();

bool = false;

if (content.indexOf(name) != -1) {

imfors = content.split("==");

for (int i = 0; i imfors.length; i++) {

if (imfors[i].indexOf(name) != -1) {

imfor = imfors[i].split("");

if (imfor[0].equals(name)) {

bool = true;

result = result + imfors[i] + "==";

}

}

}

if (bool) {

imfors = result.split("==");

System.out.println("姓名\t电话\tEmail");

for (int i = 0; i imfors.length; i++) {

imfor = imfors[i].split("");

for (int j = 0; j imfor.length; j++) {

System.out.print(imfor[j] + "\t");

}

System.out.println();

}

} else {

System.out.println("无此人信息");

}

} else {

System.out.println("无此人信息");

}

System.out.println("0、Exit 1、继续");

int i = sc.nextInt();

if (i == 0) {

break;

}

}

} else {

System.out.println("文件还没有记录");

}

}

public void copy(){

System.out.println("----------备份-----------");

content = readFile();

if (isNull(bakPath)) {

System.out.println("备份全路径:");

bakPath = sc.next();

}

writeFile(bakPath);

System.out.println("备份成功");

}

public boolean isNull(String string){

if (null == string || "" == string || 0 == string.length()) {

return true;

} else {

return false;

}

}

public static void main(String[] args) {

AddList add = new AddList();

Scanner sc = new Scanner(System.in);

int operater = 0;

while(true){

System.out.println("选择功能:\n1、增加记录 2、删除记录 3、显示所有 4、查询记录 5、备份 6、退出");

operater = sc.nextInt();

if (1 == operater) {

add.addImfor();

} else if (2 == operater) {

add.deleteImfor();

} else if (3 == operater) {

add.viewAll();

} else if (4 == operater) {

add.queryImfor();

} else if (5 == operater) {

add.copy();

} else if (6 == operater) {

System.out.println("谢谢使用");

break;

}

}

}

}

java中怎么写文件路径

找到文件路径复制粘贴就可以了,到文件名的时候一定要加上文件名的后缀:例如aaa.txt

java中new fileoutputstream(文件路径)是否会自动创建文件?

这个要分情况看,例如创建文件路径为"D:/111/222/myfile.txt"\x0d\x0a(1)当myfile.txt所在目录已经存在时:\x0d\x0aFileOutputStream fos = new FileOutputStream("D:/111/222/myfile.txt");\x0d\x0a可以创建文件。\x0d\x0a(2)当myfile.txt所在目录不存在时:\x0d\x0aFileOutputStream fos = new FileOutputStream("D:/111/222/myfile.txt");\x0d\x0a\x0d\x0a不能创建文件。需要先创建出目录,可以用\x0d\x0aFile outDir =new File("D:/111/222");\x0d\x0aoutDir.mkdirs();\x0d\x0a先创建目录,再执行new FileOutputStream("D:/111/222/myfile.txt")就可以创建文件。

java输入流和输出流文件应该建在什么位置

在Java程序中,要想从文件中读取数据,需要在程序和文件之间建立一条数据输入的通道,这样程序就可以从文件中读取数据了;反之,如果要在Java程序中把数据写入到文件中,也需要在程序和文件之间建立一条数据输出的通道。当程序创建输入流对象时,Java会自动建立这个数据输入通道,而创建输出流时,Java也会自动建立这个数据输出通道。如下图所示:

Java程序读取与写入数据

输入流是从文件读取数据,是一个拉取数据的过程;输出流是将数据写入到文件,是一个推送数据的过程。

为了便于理解输入输出流,前面都是以文件为数据源来讨论的。其实,Java的输入与输出流支持任何数据源的读取与写入,包括键盘、文件、网络、数据库等数据源。

输入流和输出流按读取和写入的数据单位可分为字节流和字符流,字节流是以字节为单位传输数据的流,字符流是以字符为单位传输数据的流。

Java所提供的输入流和输出流类封装在Java.io包中

关于java创建文件流路径和java生成文件路径的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。