相关疑难解决方法(0)

从ByteArrayOutputStream创建文件

如果我只有一个,有人可以解释我如何获取文件对象ByteArrayOutputStream.如何从ByteArrayOutputStream?创建文件?

java io file-io file bytearrayoutputstream

64
推荐指数
2
解决办法
12万
查看次数

在java中使用"using"关键字

在Java中,有一个等同于C#"using"语句,允许为对象定义范围:

using (AwesomeClass hooray = new AwesomeClass())
{
   // Great code
}
Run Code Online (Sandbox Code Playgroud)

c# java using

60
推荐指数
0
解决办法
2万
查看次数

Java异常处理 - 样式

从历史上看,我总是编写我的异常处理代码,如下所示:

    Cursor cursor = null;
    try {
        cursor = db.openCursor(null, null);
        // do stuff
    } finally {
        if (cursor != null) cursor.close();
    }
Run Code Online (Sandbox Code Playgroud)

但最近,出于可读性和懒惰的原因,我已经开始这样做了:

        Cursor cursor = db.openCursor(null, null);
        try {           
            // do stuff
        } finally {
            cursor.close();
        }
Run Code Online (Sandbox Code Playgroud)

从try-catch-finally块中分配游标(jdbc句柄,无论如何)是错误的吗?

除非JVM真正炸毁了作业,或者在作业块中的任务和第一行之间,我不确定我的旧样式是否会提供任何额外的价值,第二行肯定更具可读性和简洁性.文献通常总是采用第一种风格.

编辑 -假设我很高兴,同时初始化光标不是在这个代码块被抓,我在这个例子中唯一关心的是关闭游标,如果它通过openCursor抛出的异常分配和打开.还假设我正在测试空值等等.. yadda ... yadda ...(我已经改变了示例来反映这一点,它不是我的问题的焦点,所以我没有将它包含在第一版)

java exception-handling

10
推荐指数
4
解决办法
2432
查看次数

如何用Java计算文件的哈希值?

我编写了以下程序来计算Java中字符串的SHA-256哈希值:

public class ToHash {

    public static void main(String[] args)  {

        byte[] data = "test".getBytes("UTF8");
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        byte[] hash = digest.digest(data);
        System.out.println(new BASE64Encoder().encode(hash));

    }
}
Run Code Online (Sandbox Code Playgroud)

嗯,这很好.在下一步中,我想以接受文件并计算其哈希值的方式开发它.我的解决方案是在字符串数组中读取整个文件,并在该字符串数组上调用该digest()方法.但是有两个问题:

  1. 我不知道如何将整个文件读入数组?目前我认为我必须逐行阅读并附加一个带有新行的数组!

  2. 以上方法需要大量文件的大量内存!


这是我当前读取文件的程序:

public class ToHash {

    public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException, FileNotFoundException, IOException {
        // TODO code application logic here

        // The name of the file to open.
        String fileName = "C:\\Users\\ghasemi\\Desktop\\1.png";
        BufferedReader br = null;

        try {

            String sCurrentLine;
            br = new BufferedReader(new FileReader(fileName));
            while …
Run Code Online (Sandbox Code Playgroud)

java arrays hash file-io

7
推荐指数
1
解决办法
2万
查看次数