我正在尝试使用Java为映射的网络驱动器Z创建一个文件夹
不幸的是,文件没有被创建.这就是我正在做的事情:
File file = new File("Z:/file1");
file.mkdir();
Run Code Online (Sandbox Code Playgroud)
不使用映射网络驱动器时此代码有效.这是在Windows环境中.
有任何想法吗?
是否可以将图像作为文本读取并通过网络发送?是的,那我们怎么做呢?
在Java ...
我有数据存储在BufferedReader中.(我把它作为对HTTP post请求的响应.)
如何将此(二进制)数据写入文件?
我知道如何将字符串写入文件,但如何获取BufferedReader中的数据并将其放入文件中.
提前致谢!
好的,我说有一个名为"people.txt"的文本文件,它包含以下信息:
1 adam 20 M
2 betty 49 F
3 charles 9 M
4 david 22 M
5 ethan 41 M
6 faith 23 F
7 greg 22 M
8 heidi 63 F
Run Code Online (Sandbox Code Playgroud)
基本上,第一个数字是人的ID,然后是人的姓名,年龄和性别.假设我想用不同的值替换第2行或ID号为2的人.现在,我知道我无法使用RandomAccessFile它,因为名称并不总是相同的字节数,也不是年龄.在搜索随机Java论坛时,我发现StringBuilder或者StringBuffer应该满足我的需求,但我不确定如何实现.它们可以用来直接写入文本文件吗?我希望这可以直接从用户输入工作.
我正在尝试一个简单的方法,删除文件的上层目录,如果它们是空的,直到它到达基本目录,但我不能使它工作.
它删除文件及其父目录,但是,它的下一个父项在它抛出时不会被删除DirectoryNotEmptyException.它确实是空的,因为只有一个子目录,并且它在上一次迭代中被删除.
因此,文件被删除,其父项被删除,并在那里停止,不再删除上层目录.
编辑:(修改后的代码)
似乎延迟删除目录,因此在下一次检查目录的空白状态时,前一个目录尚未删除.所以我添加了一个while循环来检查,直到该目录不存在.我不知道这是不是一个坏技术,但它适合我的需要.
public static void removeFileAndParentsIfEmpty(Path path) throws IOException {
if(path == null || path.endsWith(FilesPath.BILLS_DIRECTORY)) {
return;
}
if (Files.isRegularFile(path)){
Files.deleteIfExists(path);
} else if (Files.isDirectory(path)){
if(path.toFile().list().length == 0){
Files.delete(path);
while(Files.exists(path));
}else{
return;
}
} else {
return;
}
removeFileAndParentsIfEmpty(path.getParent());
}
Run Code Online (Sandbox Code Playgroud)
如果有人能提供更好的解决方案,那么这个问题仍然需要批准.谢谢.
我试图使用FileInputStream基本上读取文本文件,然后将其输出到不同的文本文件中.但是,当我这样做时,我总是会得到非常奇怪的角色.我确信这是我犯的一个简单的错误,感谢任何帮助或指向我正确的方向.这是我到目前为止所得到的.
File sendFile = new File(fileName);
FileInputStream fileIn = new FileInputStream(sendFile);
byte buf[] = new byte[1024];
while(fileIn.read(buf) > 0) {
System.out.println(buf);
}
Run Code Online (Sandbox Code Playgroud)
它正在读取的文件只是一个普通ASCII字符的大文本文件.然而,每当我执行system.out.println时,我得到输出[B @ a422ede.关于如何使这项工作的任何想法?谢谢
我正在尝试编写一个程序,它会一直询问用户一个整数,直到他们输入一个非整数的值,此时程序停止.
这是我到目前为止:
import java.util.Scanner;
import java.util.ArrayList;
public class InputStats {
private static Scanner a;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList InputArray = new ArrayList();
Boolean Running = true;
System.out.println("Please type an integer. To stop enter a non integer value");
while (Running) {
a = Scanner.nextLine();
if (!a.hasNextInt()) {
Running = false;
}
else {
InputArray.add(input.nextLine());
}
System.out.println(InputArray);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,使用此代码我收到错误:
error: non-static method nextLine() cannot be referenced from a static context (for the …Run Code Online (Sandbox Code Playgroud) 我有以下代码从mkyong到本地的zip文件.但是,我的要求是在服务器上压缩文件并需要下载.任何人都可以帮忙.
代码写入zipFiles:
public void zipFiles(File contentFile, File navFile)
{
byte[] buffer = new byte[1024];
try{
// i dont have idea on what to give here in fileoutputstream
FileOutputStream fos = new FileOutputStream("C:\\MyFile.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
ZipEntry ze= new ZipEntry(contentFile.toString());
zos.putNextEntry(ze);
FileInputStream in = new FileInputStream(contentFile.toString());
int len;
while ((len = in.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
in.close();
zos.closeEntry();
//remember close it
zos.close();
System.out.println("Done");
}catch(IOException ex){
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我可以在fileoutputstream中提供什么?contentfile和navigationfile是我从代码创建的文件.
所以我问自己为什么我不需要导入java.io.PrintStream使用System.out.我知道java.lang编译器默认导入它.行.
因为System是一类java.lang我可以使用的领域System.out.但是这个字段有类型java.io.PrintStream,默认情况下不会导入这个类(它在java.io包中),那么为什么我可以访问System.out.print()而不java.io.PrintStream单独导入呢?
如果我创建自己的类,MyClass那么我就不能做这样的事情MyClass anInstance = new MyClass();.首先需要导入MyClass.为什么这不是强制性的PrintStream?
提前致谢.
我只想在我的Java程序中读取和写入一些文件.所以我java.security.SecurityManager用来管理这个,但似乎并不令人满意.
该Main.java文件如下
import java.io.*;
import java.util.*;
public class Main {
static private final String INPUT = "in.txt";
public static void main(String args[]) throws Exception {
FileInputStream instream = null;
BufferedReader reader = new BufferedReader(new FileReader(INPUT));
String tempString = null;
while ((tempString = reader.readLine()) != null) {
System.out.println(tempString);
}
}
}
Run Code Online (Sandbox Code Playgroud)
和/opt/java.policy下面的文件
grant {
permission java.io.FilePermission "./out.txt", "write";
};
Run Code Online (Sandbox Code Playgroud)
然后我跑了
java -Xss64m -Xms16m -Xmx512m -Djava.security.manager -Djava.security.policy=/opt/java.policy Main
Run Code Online (Sandbox Code Playgroud)
但是没有错误,输出就是这样in.txt.我尝试了其他文件并获得了相同的结果.为什么会这样?