加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何使用提供的用户名和密码来读取Java中的文件

发布时间:2020-12-15 01:11:13 所属栏目:Java 来源:网络整理
导读:我需要从Windows上运行的Java脚本中读取一堆二进制文件. 但是,文件所在的文件夹具有有限的权限.我(即我的Windows用户名)有权读取它们,但Java运行的用户(这是Web应用程序的一部分)却没有.如果我在运行时将自己的用户名和Windows网络密码传递给Java,有没有办法

我需要从Windows上运行的Java脚本中读取一堆二进制文件.

但是,文件所在的文件夹具有有限的权限.我(即我的Windows用户名)有权读取它们,但Java运行的用户(这是Web应用程序的一部分)却没有.如果我在运行时将自己的用户名和Windows网络密码传递给Java,有没有办法可以使用自己的权限而不是Web用户来读取这些文件?

(请注意,这不是通过Web发生的;这是在Web应用程序的上下文中运行的一次性导入脚本.)

最佳答案
您可以创建网络共享,然后通过jCIFS连接

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;

import jcifs.smb.SmbException;
import jcifs.smb.SmbFileInputStream;

public class Example
{
    public static void main(String[] args)
    {
        SmbFileInputStream fis = null;
        try
        {
            fis = new SmbFileInputStream("smb://DOMAIN;USERNAME:PASSWORD@SERVER/SHARE/filename.txt");
            // handle as you would a normal input stream... this example prints the contents of the file
            int length;
            byte[] buffer = new byte[1024];
            while ((length = fis.read(buffer)) != -1)
            {
                for (int x = 0; x < length; x++)
                {
                    System.out.print((char) buffer[x]);
                }
            }
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace();
        }
        catch (UnknownHostException e)
        {
            e.printStackTrace();
        }
        catch (SmbException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (fis != null)
            {
                try
                {
                    fis.close();
                }
                catch (Exception ignore)
                {
                }
            }
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读