/** * 同步文件到smb服务器,一共四台samba服务器 * @param files 同步的文件列表 * @param ctx */ public static void _fileSync(String[] files,String SmbUrl){ try{ SmbFile remote = new SmbFile(SmbUrl); for (int i = 0; i < files.length; i++) { File file = new File(files[i]); String filePath = file.getAbsolutePath(); //System.out.println(filePath); // 同步到文件服务器 System.out.println(Constants.REALPATH); String smbFilePath = filePath.substring(Constants.REALPATH.length()+1); //System.out.println(smbFilePath); String smbFolderPath = smbFilePath.substring(0, smbFilePath.lastIndexOf(File.separator)); //System.out.println(smbFolderPath); //System.out.println(smbFolderPath.replace('\\', '/')); SmbFile remoteFolder = new SmbFile(remote, smbFolderPath.replace('\\', '/')); //System.out.println(remote); //System.out.println(remoteFolder); if (!remoteFolder.exists()) { remoteFolder.mkdirs(); } SmbFile remoteFile = new SmbFile(remote, smbFilePath); if (!remoteFile.exists()) { remoteFile.createNewFile(); } FileInputStream fis = new FileInputStream(file); SmbFileOutputStream sfos = new SmbFileOutputStream(remoteFile); int c; byte[] buf = new byte[2048]; while ((c = fis.read(buf)) != -1) { sfos.write(buf, 0, c); } sfos.flush(); fis.close(); // 删除本地文件 file.delete(); } }catch(Exception ex){ ex.printStackTrace(); } }
其中SmbUrl格式是
smb://{username}:{passwd}@{ip}/{smbshare}/
相关推荐
Java对Samba进行上传与下载文件的技术主要涉及Java编程、Samba服务器以及jcifs库的使用。Samba是一个开源软件,允许Linux/Unix系统与Windows系统之间进行文件共享,而jcifs是Java的一个库,它提供了对SMB(Server ...
在“samba_demo1”压缩包中,可能包含了一个简单的示例,演示了如何设置Samba服务器和从Windows或Java程序访问共享文件的过程。解压后,你可以看到配置文件、脚本以及可能的示例代码,帮助你更好地理解和实践Samba的...
【Samba服务器概述】 Samba是一组开源软件,它的主要目标是实现Linux系统与Windows环境之间的文件和打印机共享。通过支持Server Message Block (SMB) 协议,Samba允许Linux机器与Windows系统无缝交互,使得用户能够...
2. 解压源码:使用`tar -zxvf samba-4.3.0.tar.gz`或`tar -jxvf samba-4.3.0.tar.bz2`命令来解压文件。 3. 配置编译:进入解压后的目录,运行`./configure`进行配置,检查系统环境和依赖项。 4. 编译和安装:使用`...
Samba是一款开源软件,它使得Linux和Unix系统...至此,你应该已经成功安装并配置了Samba服务器,可以进行跨平台的文件和打印共享了。在配置过程中遇到任何问题,都应仔细检查配置文件和日志,以找到解决问题的线索。
在Java编程环境中,有时我们需要访问网络上的共享文件系统,例如Samba服务器。Samba是一种流行的开源软件,它允许Linux、Windows和其他操作系统之间的文件共享。为了在Java程序中读取Samba(CIFS)共享文件,我们...
使用`yum install samba`命令安装Samba服务器。这是在CentOS中安装软件的常用方式,它会自动处理依赖关系,确保所有必要的组件都被安装。 2. **配置Samba**: 编辑Samba的配置文件,通常是`/etc/samba/smb.conf`...
它支持SMB2和SMB3协议,允许Java应用程序连接到SMB共享,执行读写文件、创建目录、删除文件等操作。Smbj库提供了异步和同步API,可以方便地集成到多线程环境中。 3. **mbassador-1.3.2.jar**:这是一个事件驱动框架...
使用smbj.jar,开发者可以创建Java程序来连接到远程服务器的共享文件夹,执行读写操作,甚至管理文件权限。以下是一些核心知识点: 1. **安装与引入**:首先,你需要下载smbj.jar并将其添加到你的项目类路径中。...
本文详细介绍了如何使用Java语言结合jcifs库操作Windows共享目录的方法,主要包括了SMB协议的基本概念及其在Windows系统中的应用,以及jcifs库的功能特点和具体使用示例。通过对这些内容的学习,开发者可以更好地...
### Java向其他机器写文件与共享机器写文件 在Java编程中,经常需要实现跨机器文件操作的功能...通过上述步骤,我们可以使用Java实现对远程服务器的文件读写操作,这对于开发分布式系统或进行数据同步等场景非常有用。
10. **Samba服务器设置**:Samba允许Linux和Windows系统之间进行文件共享,配置Samba服务,可以实现跨平台的文件传输,主要涉及到`/etc/samba/smb.conf`配置文件的编辑。 11. **Crontab任务调度**:Cron是Linux的...
- 使用jcifs-ng,开发者需要创建SmbFile对象,指定服务器地址、共享路径和用户名/密码,然后可以进行文件的读写操作。 - 示例代码: ```java SmbFile smbFile = new SmbFile("smb://server/share", new ...
使用jcifs-ng库,我们可以创建一个`SmbFile`对象来表示SMB服务器上的路径。以下代码展示了如何连接到SMB服务器并获取根目录: ```java SmbConfig config = SmbConfig.builder().withTimeout(5, TimeUnit.SECONDS)...
一种是通过Linux服务器安装s3fs挂载S3,然后使用ShareFile服务器连接到Linux服务器,通过Samba和NFS共享方式访问S3存储。另一种是直接在ShareFile服务器上安装s3fs的Windows版本,直接挂载S3存储。这两种方法各有...
- **外部架构**:主要包括存储服务器(Brick Server)、客户端和存储网关(如NFS/Samba)。GlusterFS的独特之处在于没有单独的元数据服务器,这有助于提升整体性能。 - **内部架构**:采用模块化堆栈式设计,其中的...
2. **浏览共享资源**:使用`SmbFile`类,开发者可以列举出服务器上的共享目录和文件,类似于Java的`File`类。例如,`SmbFile("smb://server/share")`可以表示服务器上的共享路径。 3. **读写文件**:`SmbFile`类还...
Linux是开源的操作系统,广泛应用于服务器、嵌入式设备以及个人电脑。对于Linux用户来说,掌握一些常用的命令是必备技能。下面将详细讲解标题和描述中提到的一些关键命令和概念。 1. **权限管理**: Linux的权限...
根据给定的文档,我们的主要任务是配置一个适用于企业级应用的Linux服务器,并安装一系列的服务软件,包括但不限于NFS、Web服务+PHP、Tomcat、Java、FTP、Samba、MySQL、邮件服务、SVN、Webmin和VNC等。为了确保文档...
最后一章可能深入探讨Web应用服务,包括HTTP协议、动态网页技术(如PHP、Python或Java)以及Web服务器的高级配置,如SSL/TLS加密、负载均衡和缓存优化等。 综上所述,这个Linux课件系列全面覆盖了从基础操作到...