使用Java局域网读取windows共享文件夹(smb协议)

这篇具有很好参考价值的文章主要介绍了使用Java局域网读取windows共享文件夹(smb协议)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

使用Java局域网读取windows共享文件夹(smb协议)


一、smb协议简单了解

SMB(全称是Server Message Block)是一个网络协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。

二、demo

1.设置文件夹为共享文件夹

(1)右键文件夹点击属性
java smb,java,java,windows,开发语言

(2)点击共享
java smb,java,java,windows,开发语言
(3)添加everyone 点击共享
java smb,java,java,windows,开发语言
(4)点击网络共享中心配置
java smb,java,java,windows,开发语言
java smb,java,java,windows,开发语言
(4)另一台局域网电脑怎么访问共享的文件夹。
java smb,java,java,windows,开发语言

2.Java代码

(1)用到的Maven依赖

<!--smb协议获取共享文件夹内容-->
        <dependency>
            <groupId>jcifs</groupId>
            <artifactId>jcifs</artifactId>
            <version>1.3.17</version>
        </dependency>

(2)获取共享文件夹下所有的文件

/**
     * 读取共享文件夹下的所有文件(文件夹)的名称
     *
     * @param "smb://192.168.1.215/ecg/2022-09-29/ 
     */
    public static SmbFile[] getSharedFileList(String smbFileUrl) {
        SmbFile smbFile;
        try {
            smbFile = new SmbFile(smbFileUrl);
            if (!smbFile.exists()) {
                log.error("文件夹不存在");
            } else {
                SmbFile[] files = smbFile.listFiles();
                return files;
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (SmbException e) {
            e.printStackTrace();
        }
        return null;
    }

(2)下载文件到指定文件夹

/**
     * 下载文件到指定文件夹
     * @param remoteUrl 远程文件夹路径
     * @param fileName 文件名称
     * @param localDir 要下载到本地的路径
     * @param localFileName 下载到本地的文件重命名名称
     */
    public static void downloadFileToFolder(String remoteUrl, String fileName, String localDir, String localFileName) {
        InputStream in = null;
        OutputStream out = null;
        try {
            File dir = new File(localDir);
            if(!dir.exists()){
                dir.mkdir();
            }
            SmbFile remoteFile = new SmbFile(remoteUrl  + "/" + fileName);
            File localFile = new File(localDir + "/" + localFileName);
            in = new BufferedInputStream(new SmbFileInputStream(remoteFile));
            out = new BufferedOutputStream(new FileOutputStream(localFile));
            byte[] buffer = new byte[1024];
            while (in.read(buffer) != -1) {
                out.write(buffer);
                buffer = new byte[1024];
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                out.close();
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

总结

注意要处与同一局域网内文章来源地址https://www.toymoban.com/news/detail-826987.html

到了这里,关于使用Java局域网读取windows共享文件夹(smb协议)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用局域网共享访问权限设置软件、共享文件夹设置密码软件保护共享文件安全

    当前,很多企事业单位的局域网都配置了文件服务器,用于共享单位的一些文件供局域网用户访问。同时,员工工作当中形成的劳动成果、重要文件等也常常存储在文件服务器上,便于文件保存、协同工作等需要。这使得,企业局域网文件服务器的文件安全管理日渐重要,如

    2024年02月08日
    浏览(36)
  • 两台同一局域网下的电脑实现共享文件夹

    背景 :买了台新的笔记本;旧笔记本连接校园网并开移动热点;新笔记本连接热点; 目标 :旧笔记本创建一个共享文件夹,供新笔记本访问读写 2.1、旧笔记本 (1)网络设置 win+i - 网络和Internet - 网络和共享中心 - 更改高级选项设置 - 勾选两个 所有网络 - 无密码保护的共享

    2024年02月09日
    浏览(38)
  • 解决Win10出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问” - 开启局域网文件共享

    一、允许 自己电脑 去访问局域网其他电脑的共享文件 使用快捷键win+R打开 运行 ,打开“ gpedit.msc ” 计算机配置 Windows设置 安全设置 本地策略 安全选项 “账号:来宾账户状态” “已启用” 如下图 计算机配置 管理模板 网络 Lanman工作站 “启用不安全的来宾登录” “已启用

    2024年02月12日
    浏览(37)
  • Windows和Mac设置局域网共享

    1、首先在windows电脑右下角点击网络连接,打开网络共享。 2、打开文件夹的共享属性 3、拿到windows的局域网ip,直接用网络名也可以。 4、然后打开mac电脑,点击前往,选择连接服务器选项。 5、在弹出窗口中输入windows电脑的IP地址或网络名,点击链接。 6、如果是第一次链接

    2024年02月16日
    浏览(25)
  • Windows电脑怎么设置局域网内共享磁盘?

    前言: 我有一台主机硬盘容量比较大,想做为一个共享硬盘,方便我其他笔记本能够往这台硬盘传输文件,想到的最好最快的方法就是通过局域网内部进行文件传输。通过局域网共享磁盘,这种方法也是非常便捷的。那如何设置操作呢?请详细看下文。 局域网共享磁盘,共

    2024年02月09日
    浏览(37)
  • Windows 10搭建FTP服务器实现局域网文件共享

    打开“控制面板”→单击“程序”→单击“启动或关闭Windoes功能” 在Internet information Services下勾选FTP服务和IIS相关服务,如下图所示: 勾选完成后单击“确定” 加载完成后重启电脑 打开“控制面板”→单击“管理工具”→单击“IIS管理器”,如下图所示: 右击“网站”→

    2024年02月03日
    浏览(37)
  • 局域网如何共享文件 局域网文件共享的图文方法

    网络时代,资源共享是一个非常重要的概念。同事之间,共享必要的资料,可以有效提高工作效率。朋友之间,共享经典好资源,可以避免好友频繁要求传文件的打扰。什么?你一直用QQ给同事、朋友传文件?不会共享?那下面的知识该好好补一下了。 局域网内共享文件 第一

    2024年02月06日
    浏览(30)
  • 《工具箱-VNCServer》配置VNCServer,使用VNCViewer实现局域网内页面共享

    通过VNCServer配置,与VNCviewer配套使用 5.打开VNClicensewiz,选择“Enter a license key …”

    2024年02月14日
    浏览(44)
  • 实现不同局域网间的文件共享和端口映射,使用Python自带的HTTP服务

    数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有广泛的应用,对于个人用户也有很强的实用意义。也正因如此,大量数据共享软件被开发出来,云存储的概念也被重复炒作。对于爱好折腾的笔者来说,用最简单的工具找寻私人共享和存储解决方案,也是

    2024年02月10日
    浏览(27)
  • 实现不同局域网文件共享的解决方案:使用Python自带HTTP服务和端口映射

    数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有广泛的应用,对于个人用户也有很强的实用意义。也正因如此,大量数据共享软件被开发出来,云存储的概念也被重复炒作。对于爱好折腾的笔者来说,用最简单的工具找寻私人共享和存储解决方案,也是

    2024年02月11日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包