标签: inputstream

将String转换为InputStream,将OutputStream转换回String

我正在尝试进行此类转换,但我遇到了一些问题.

假设我有一个以下字符串:

String in = "1234567890123456";
Run Code Online (Sandbox Code Playgroud)

然后我将它转换为ByteArrayInputStream,如下所示:

ByteArrayInputStream bais = new ByteArrayInputStream(in.getBytes("UTF-8"));
Run Code Online (Sandbox Code Playgroud)

我也有:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Run Code Online (Sandbox Code Playgroud)

然后我加密:

ch.encrypt(bais, baos);
Run Code Online (Sandbox Code Playgroud)

所以现在我的"输出"了baos.当我这样做的时候:

byte[] b2 = baos.toByteArray();
int[] i2 = toUnsignedIntArray(b2);
writeIntegersAsHex(i2);
Run Code Online (Sandbox Code Playgroud)

哪里(我知道它不是最优雅的方式,但它仅用于测试):

 public static void writeIntegersAsHex(int[] integers) {
    int height = integers.length;
    for (int i = 0; i < height; i++) {
        System.out.print(Integer.toHexString(integers[i]) + ",");
    }
    System.out.println("");
}
Run Code Online (Sandbox Code Playgroud)

我得到这样的输出:

d1,68,a0,46,32,37,25,64,67,71,17,df,ee,ef,2,12,
Run Code Online (Sandbox Code Playgroud)

并且该输出是正确的,因为当我处理包含相同字符串的文件时,in该输出是相同的.但我无法从中获得正确的字符串baos.

请不要问我为什么这样做,因为这不是我的电话.我是学生,这是一个例外.

算法(顺便说一句,它是aes128)工作正常,文件,但我不能得到字符串输入流和输出流到字符串工作正常.

java string inputstream outputstream

-1
推荐指数
1
解决办法
8799
查看次数

在 C/C++ 中输入整数直到换行

可能的重复:
如何在 C++ 中逐行读取文件中的整数

请任何人都可以建议我如何在 C++ 中输入整数直到换行。

假设输入流是

10 10 10 10 10 10 10 10 10 10,然后是 C++ 中的换行符。

c++ inputstream

-2
推荐指数
2
解决办法
7889
查看次数

有没有办法确定输入流是否是readOnly?

我在想类似的东西

File file =new File(inputStream) // not possible though. file.canWrite,

但我似乎找不到一个解决方案,将输入流转换为文件,而无需将其写入别处.谢谢!

java inputstream

-2
推荐指数
1
解决办法
99
查看次数

从输入文件中读取,直到字符串出现在C++中

我有一个输入文件如下 -

BEGIN
ABC
DEF
END
BEGIN
XYZ
RST
END
Run Code Online (Sandbox Code Playgroud)

我必须提取从BEGIN到END的所有内容并将它们存储在一个字符串中.所以,从这个文件中我将有两个字符串.我ifstream用来读取输入文件.我的问题是,如何解析输入文件以获取从一个BEGIN到下一个END的所有内容.getline()有字符作为分隔符,而不是字符串.我尝试的另一种方法是将输入文件中的所有内容复制到字符串中,然后根据该字符串解析字符串.find().但是,在这种方法中,我只得到第一个BEGIN到END.

有没有什么办法可以将所有内容存储在输入文件的字符串中,直到某个字符串出现(END)?

为了存储目的,我使用一个vector<string>存储.

c++ string inputstream file ifstream

-2
推荐指数
1
解决办法
107
查看次数

如何将FileInfo对象转换为字符串

我正在从文件夹中选择txt文件,因为我在订购这些文件之后根据各自的修改日期订购这些文件我将逐一阅读每个文件的内容.什么是可能的解决方案.因为我无法将FileInfo对象转换为字符串以下是片段.在输出中:我希望所有文件按照修改日期排序,并希望逐个阅读.谢谢

string sourcePath = @"C:\sample\*.log";
DirectoryInfo dir = new DirectoryInfo(sourcePath);
FileInfo[] files = dir.GetFiles(sourcePath).OrderBy(order => order.LastWriteTime).ToArray();
foreach (var item in files)
{
  listBox1.items.Add(item)
}
Run Code Online (Sandbox Code Playgroud)

c# inputstream file

-3
推荐指数
1
解决办法
4070
查看次数

在C#中读取整数的替代方法

我知道通过使用Convert.To方法读取输入,但除此之外还有什么方法可以阅读.

int k = Convert.ToInt16(Console.ReadLine()); 
Run Code Online (Sandbox Code Playgroud)

c# inputstream input type-conversion beginread

-3
推荐指数
1
解决办法
630
查看次数

不下载文件

我使用以下代码使用socket而不是url.openconnection()从指定的url下载文件; 下载后我检查它不工作...当我用编辑器打开文件时它是完全空白的文件内没有数据(空文件)需要建议??? ... ...

try {

    String address="http://tineye.com/images/widgets/mona.jpg";
    URL url_of_file=new URL(addres);
    String hostaddress=url_of_file.getHost();
    Socket mysocket=new Socket(hostaddress, 80);
    System.out.println("Socket opened to " + hostaddress + "\n");
    String file=url_of_file.getFile();
    System.out.println(" file = "+file);

    OutputStreamWriter osw=new OutputStreamWriter(mysocket.getOutputStream());

    osw.write("GET " + file + " HTTP/1.0\r\n\n"); 
    osw.flush(); 

    dis = new DataInputStream(mysocket.getInputStream());
    fileData = new byte[7850];

    for (int x = 0; fileData[x] > 0; x++){
         fileData[x] = (byte) dis.read();
    }

     // close the data input stream
    fos = new FileOutputStream(new File("C:\\Users\\down-to\\filedownloaded.jgp"));  //create an object representing the …
Run Code Online (Sandbox Code Playgroud)

java sockets inputstream

-4
推荐指数
1
解决办法
154
查看次数