我对在Java中使用流和文件的概念还很陌生。
我正在写一段代码,我有一个非常简单的服务器,它正在侦听传入的文件。
然后我有一个处理传入文件的处理程序。
现在,下面是代码(去掉try/catch块)
ObjectInputStream in;
in = new ObjectInputStream(new BufferedInputStream(
clientSocket.getInputStream()));
File f = new File(fileName);
int byteCount = in.readInt();
byte[] fileArray = (byte[
在java中不能同时从文件中读取对象和数据。m能够将对象写入文件,但不能提取所有对象。只提取第一个对象,并且不能检索对象之后的数据。
import java.io.*;
import java.util.*;
class writeobj implements Serializable
{
public String name;
public long size;
}
class FileLists
{
public static void main(String[] args) throws Exception
{
try{
File
我的任务是使用PrintStream在文本文件中写入一些数字,然后使用RandomAccessFile从同一文件中读取。当编写部分按预期工作时,我在运行代码时得到以下输出。
807416096
840971040
874525984
Exception in thread "main" java.io.EOFException
908080928
941635872
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:776)
at Problema4.main(Problema4.java:21)
Java R
我正在努力将用php完成的代码更改为java。我有一个用种子加密的test.tpf文件,该文件是用ANSI编码的。test.tpf文件包含用于base64编码和输出的字符串和图像信息。我必须削减每个16字节,并读取文件解密test.tpf。所以我使用fileInputStream来保存和解密我在一个16字节数组中读取的字节。
int nReadCur=0;
byte[] outbuf = new byte[16];
int nRead =0;
FileInputStream fis = new F
我需要使用自定义ClassLoader加载第三方驱动程序。计划是,驱动程序只是共享jar档案,但带有.dar后缀(驱动程序存档)。然后将这些档案简单地添加到类路径中,而jvm则忽略这个文件扩展名,并像处理资源一样处理dar文件(这意味着忽略内部的类文件)。
现在我的问题是,我的类加载器在类文件异常的常量池中给出了一个非法的UTF8字符串。我怎么才能绕开呢?
public class DriversClassLoader extends ClassLoader {
public DriversClassLoader() {
super(ClassLoader.getSy
我正在使用getObject应用编程接口从亚马逊s3下载文件。简单的文本文件可以工作,但在pdf下载我的文件是损坏的。我正在使用FileOutputStream并将内容保存在一个文件中,但保存的pdf文件已损坏。
我不太确定用于此目的的正确的java api,以及在其中写入读取的字节的字节数组的大小。
我还想知道直接使用SDK是否有意义,或者我可以利用Java中的开源包装器api。
FileOutputStream fout =新文件(新文件(DestFileName));
byte[] b = new byte[8192];
int bytesRead;
while (true)
对于家庭作业,我尝试发送一个文件和一些与此文件相对应的参数。所以,我发送了我的文件和字符串。问题是我的参数转到我的文件,而不是我的变量中。我理解这个问题,我的循环虽然继续在文件中写入,只要他收到一些东西,但我想停止它,并让我的参数从我的文件外部。
下面是我的代码客户端:
public static void transfert(InputStream in, OutputStream out) throws IOException{
PrintWriter printOut;
byte buf[] = new byte[1024];
int
我尝试使用DataInputStream和FileInputStream从Textfile中读取。我知道我应该使用FileReader,但是我想用Byte来尝试它。
这是代码
import java.io.*;
public class FTest_3 {
public static void main(String[] args) throws IOException{
DataInputStream stream = new DataInputStream(new FileInputStream("lol1.txt"));
String str = st
我的应用程序将.zip文件分成两部分。当文件大小小于100 is时,它可以正常工作。如果文件大小大于100 it,则会给出
java.lang.OutOfMemoryError
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:198)
我用的是glassfishV3和JDK6
-Xms512m -Xmx512m是不够的
then I have set
<jvm-options>-Xms1024m</
描述
我从文件中读取主题对象,主题类有一个缓冲图像列表,这些图像是短暂的,但是使用了使用ImageIO的读和写的自定义读/写对象方法。问题是,我在主题中读到的第一个BufferedImage总是ok(不是null),但剩下的是null,我认为writeObject方法可能有问题,但是怎么办?
该程序进入槽文件夹,并创建一个主题包含图像,在该文件夹中的位置。这些图像没有什么问题,我使用不同的图像进行了检查,但是结果是一样的。
DataSetup
public class DataSetup {
public void write() {
List<Theme&
我编写了一些代码,逐个读取文本文件字符,然后将其打印到屏幕上,但结果让我感到困惑,如下所示:
这是我写的代码
import java.io.*;
import java.nio.charset.StandardCharsets;
public class learnIO
{
public static void main(String[] args) throws IOException{
var in = new InputStreamReader(new FileInputStream("test1.txt"), Sta
我不明白什么时候应该使用FileReader和BufferedReader的组合,什么时候使用FileInputStream读取文件(并输出到日志)?
/**
* Created by mona on 3/26/16.
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
public class FileExample {
public static
我试图用java中的缓冲输出流在windows记事本中写入阿拉伯单词,并且在编写了记事本的字符集编码后变成了UTF-8,因此很明显,在java中写入文件的默认字符集是UTF-8,但是当我用缓冲的输入流读取它时,它不会被UTF-8编码所读取,因为读取它的结果是奇怪的符号。
enter code here
class writeFile extends BufferedOutputStream {
public writeFile(OutpuStream out){
super(out);
}
public static void main(String arg[])
我正在尝试使用字节流读取包含普通文本数据的文件。我知道在字节流中,每个字节都会被一个接一个地读取。因此,如果我通过字节流读取文本文件中的数据Hi How are you!!!!!!,那么它应该给我每个字符的Unicode等效项,但它给我的是一个不同的输出,而不是映射到utf或ascii等效项。
下面是我的程序
package files;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileBaiscs {
public stati
大家好,我正在练习使用java数据输入输出流。但是我不知道如何解决这个问题--我可以将数据输入流写入我的文件,但不能读取它
这是我的代码:
public static void readDataIOStream(){
DataInputStream dataIn = null;
int i = 10;
double d = 1023.56;
boolean b = true;
try {
dataIn = new DataInputStre