Tag: 文件

获取文件创建的日期/时间

这似乎是一个非常直截了当的问题,但我无法在网上找到明确的答案。 如何通过Java的文件管理器获取文件的创建日期/时间? 除了文件的名称,我还能得到关于文件的“属性”的其他内容吗?

使用RandomAccessFile到达文件中的特定行

是否可以通过RandomAccessFile将光标定位到文件中特定行的开头? 例如,我想在文件中第111行的char 10到20之间更改String。 该文件具有固定长度的记录。 是否可以使用RandomAccessFile将光标直接定位到第111行的开头? 更新: 我使用了以下代码。 但是,它返回null。 行长度为200个字符(如果我没有错,则为200个字节) File f = new File(myFile); RandomAccessFile r = new RandomAccessFile(f,”rw”); r.skipBytes(200 * 99); // linesize * (lineNum – 1) System.out.println(r.readLine()); 我哪里错了?

JAVA:一起读写文件

我试图读取一个java文件并同时修改它。 这就是我需要做的:我的文件格式如下: aaa bbb aaa ccc ddd ddd 我需要读取文件并获取出现次数的计数并修改重复项以获取以下文件: aaa – 2 bbb – 1 ccc – 1 ddd – 2 我尝试使用RandomAccessFile来执行此操作,但无法执行此操作。 有人可以帮我解决这个问题的代码吗?

如何从文件反序列化到不同的类

我将ArrayList list序列化为一个文件,并将该文件传输到另一台机器中的另一个系统。 由于它是一个接收文件的不同系统,我没有相同的packageA.Changelog类,而是一个packageB.Changelog ,它具有完全相同的结构但在不同的包中。 当我使用时 ArrayList changelogs = (ArrayList)ois.readObject(); 从文件中读出我得到了ClassCastException 。 如何避免这种exception? 我是否需要在其他系统中创建相同的包结构才能接收列表?

是否可以在不重写的情况下将数据添加到文件中?

我处理非常大的二进制文件(每个文件几GB到多TB)。 这些文件以传统格式存在,升级需要将标头写入文件的FRONT。 我可以创建一个新文件并重写数据,但有时这可能需要很长时间。 我想知道是否有更快的方法来完成此升级。 该平台仅限于Linux,我愿意使用低级函数(ASM,C,C ++)/文件系统技巧来实现这一目标。 初始库是Java,JNI是完全可以接受的。

java file.delete()返回false但file.exists()返回true

当我尝试从java代码中删除tomcat服务器conf / Catalina / localhost中存在的文件时,file.delete()始终返回false。 但是如果我通过file.exists()函数检查文件,则返回true。 我没有任何例外。 请帮助我们为什么会这样。 这是什么解决方案?

AES KeyPairGenerator无法识别

我的java代码有问题。 我正在尝试加密文件。 但是,当我运行我的java代码时,我得到“java.security.InvalidKeyException:无效的AES密钥长度:162字节”。 这是代码: byte[] rawFile; File f = new File(“./src/wonkybox.stl”); FileInputStream fileReader = new FileInputStream(f); rawFile = new byte[(int)f.length()]; fileReader.read(rawFile); /***** Encrypt the file (CAN DO THIS ONCE!) ***********/ //Generate the public/private keys KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“AES”); SecureRandom random = SecureRandom.getInstance(“SHA1PRNG”,”SUN”); keyGen.initialize(1024, random); KeyPair key = keyGen.generateKeyPair(); PrivateKey privKey = key.getPrivate(); PublicKey pubKey = […]

Java(Android)IOException:在索引7处预期的权限:http://

我试图从互联网上下载这个function。 我传递了两个参数:from – url到net上的文件,到 – 本地文件路径; 打开流时抛出IOException的问题: Authority expected at index 7: http:// 这是我的代码: private boolean downloadFile(String pathFrom, String pathTo) { URL url; ReadableByteChannel rbc; FileOutputStream fos; try { url = new URL(pathFrom); rbc = Channels.newChannel(url.openStream()); fos = new FileOutputStream(pathTo); fos.getChannel().transferFrom(rbc, 0, 1 << 24); return true; } catch (MalformedURLException e) { Log.e(TAG, "Failed to […]

将二进制文件读入字符串

这一点显而易见,但我无法弄清楚。 我花了差不多一整天的时间。 我很乐意给那些可以照亮我的人买啤酒。 File file = new File(filePath); byte[] bytes = new byte[(int)file.length()]; DataInputStream dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(filePath))); dataInputStream.readFully(bytes); dataInputStream.close(); return new String(bytes); 这是我的代码。 我看到字节数组大小不正常,但我无法找出合适的大小。 除此之外,内容也不正确。 似乎只有文字字符可以。 似乎从二进制文件中获取数据是一种真正的痛苦,我真的很沮丧。 还有一件事:文件内容不是文本,可以是图片,video或pdf。

IllegalArgumentException:文件包含路径分隔符Android

我正在尝试写入我的HTC One上的输出文件并在LogCat中获取以下消息: 11-21 08:05:18.228:W / System.err(6609):java.lang.IllegalArgumentException:File /storage/emulated/0/com.example.pattern1/myfile.txt包含路径分隔符 源代码如下: protected void writeToFile(String string){ File patternDirectory = new File(Environment.getExternalStorageDirectory().getAbsolutePath().toString()+”/com.example.pattern1/myfile.txt”); patternDirectory.mkdirs(); FileOutputStream outputStream; try { outputStream = openFileOutput(patternDirectory.getAbsolutePath().toString(), Context.MODE_APPEND); outputStream.write(string.getBytes()); TextView t = (TextView)findViewById(R.id.bottomMidText); t.setText(patternDirectory.getAbsolutePath().toString()); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } 如果有人可以帮助确定问题,我将不胜感激。