`
jiaoronggui
  • 浏览: 1327841 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
B7c2eb31-a8ea-3973-a517-d00141f39b89
项目管理软件-redmin...
浏览量:116414
4a63e153-250f-30f6-a051-97cfc67cb3d3
IT职业规划
浏览量:199304
社区版块
存档分类
最新评论

Java调用直接读写samba服务器

    博客分类:
  • Java
 
阅读更多

 

	/**
	 * 同步文件到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进行上传与下载文件-jcifs

    Java对Samba进行上传与下载文件的技术主要涉及Java编程、Samba服务器以及jcifs库的使用。Samba是一个开源软件,允许Linux/Unix系统与Windows系统之间进行文件共享,而jcifs是Java的一个库,它提供了对SMB(Server ...

    samba访问例子1

    在“samba_demo1”压缩包中,可能包含了一个简单的示例,演示了如何设置Samba服务器和从Windows或Java程序访问共享文件的过程。解压后,你可以看到配置文件、脚本以及可能的示例代码,帮助你更好地理解和实践Samba的...

    Samba和NFS服务器

    【Samba服务器概述】 Samba是一组开源软件,它的主要目标是实现Linux系统与Windows环境之间的文件和打印机共享。通过支持Server Message Block (SMB) 协议,Samba允许Linux机器与Windows系统无缝交互,使得用户能够...

    samba文件一起来

    2. 解压源码:使用`tar -zxvf samba-4.3.0.tar.gz`或`tar -jxvf samba-4.3.0.tar.bz2`命令来解压文件。 3. 配置编译:进入解压后的目录,运行`./configure`进行配置,检查系统环境和依赖项。 4. 编译和安装:使用`...

    Samba安装和配置教程

    Samba是一款开源软件,它使得Linux和Unix系统...至此,你应该已经成功安装并配置了Samba服务器,可以进行跨平台的文件和打印共享了。在配置过程中遇到任何问题,都应仔细检查配置文件和日志,以找到解决问题的线索。

    ReadSambaFile:使用 jcifs java 库从 Samba 读取文件

    在Java编程环境中,有时我们需要访问网络上的共享文件系统,例如Samba服务器。Samba是一种流行的开源软件,它允许Linux、Windows和其他操作系统之间的文件共享。为了在Java程序中读取Samba(CIFS)共享文件,我们...

    centos下samba文件夹共享服务器配置详解

    使用`yum install samba`命令安装Samba服务器。这是在CentOS中安装软件的常用方式,它会自动处理依赖关系,确保所有必要的组件都被安装。 2. **配置Samba**: 编辑Samba的配置文件,通常是`/etc/samba/smb.conf`...

    JAVA SMB共享文件夹操作文件jar支持smb2、smb3.rar

    它支持SMB2和SMB3协议,允许Java应用程序连接到SMB共享,执行读写文件、创建目录、删除文件等操作。Smbj库提供了异步和同步API,可以方便地集成到多线程环境中。 3. **mbassador-1.3.2.jar**:这是一个事件驱动框架...

    使用smbj.jar访问共享文件夹,解决SMB2/SMB3共享文件夹访问的问题

    使用smbj.jar,开发者可以创建Java程序来连接到远程服务器的共享文件夹,执行读写操作,甚至管理文件权限。以下是一些核心知识点: 1. **安装与引入**:首先,你需要下载smbj.jar并将其添加到你的项目类路径中。...

    java 操作windows 共享目录方法介绍

    本文详细介绍了如何使用Java语言结合jcifs库操作Windows共享目录的方法,主要包括了SMB协议的基本概念及其在Windows系统中的应用,以及jcifs库的功能特点和具体使用示例。通过对这些内容的学习,开发者可以更好地...

    java向其他机器写文件 共享机器写文件

    ### Java向其他机器写文件与共享机器写文件 在Java编程中,经常需要实现跨机器文件操作的功能...通过上述步骤,我们可以使用Java实现对远程服务器的文件读写操作,这对于开发分布式系统或进行数据同步等场景非常有用。

    linux 学习笔记 java

    10. **Samba服务器设置**:Samba允许Linux和Windows系统之间进行文件共享,配置Samba服务,可以实现跨平台的文件传输,主要涉及到`/etc/samba/smb.conf`配置文件的编辑。 11. **Crontab任务调度**:Cron是Linux的...

    Android读取SMB服务器资源或者下载资源文件

    使用jcifs-ng库,我们可以创建一个`SmbFile`对象来表示SMB服务器上的路径。以下代码展示了如何连接到SMB服务器并获取根目录: ```java SmbConfig config = SmbConfig.builder().withTimeout(5, TimeUnit.SECONDS)...

    第三方应用使用亚马逊云存储AWS S3的研究总结_亚马逊第三方可靠吗

    一种是通过Linux服务器安装s3fs挂载S3,然后使用ShareFile服务器连接到Linux服务器,通过Samba和NFS共享方式访问S3存储。另一种是直接在ShareFile服务器上安装s3fs的Windows版本,直接挂载S3存储。这两种方法各有...

    GlusterFS开发与学习

    - **外部架构**:主要包括存储服务器(Brick Server)、客户端和存储网关(如NFS/Samba)。GlusterFS的独特之处在于没有单独的元数据服务器,这有助于提升整体性能。 - **内部架构**:采用模块化堆栈式设计,其中的...

    jcifs 1.37源码

    2. **浏览共享资源**:使用`SmbFile`类,开发者可以列举出服务器上的共享目录和文件,类似于Java的`File`类。例如,`SmbFile("smb://server/share")`可以表示服务器上的共享路径。 3. **读写文件**:`SmbFile`类还...

    Android smb访问共享文件以及播放共享文件

    - 使用jcifs-ng,开发者需要创建SmbFile对象,指定服务器地址、共享路径和用户名/密码,然后可以进行文件的读写操作。 - 示例代码: ```java SmbFile smbFile = new SmbFile("smb://server/share", new ...

    linux常用命令 权限 分区 网络配置 samba mysql等大全

    Linux是开源的操作系统,广泛应用于服务器、嵌入式设备以及个人电脑。对于Linux用户来说,掌握一些常用的命令是必备技能。下面将详细讲解标题和描述中提到的一些关键命令和概念。 1. **权限管理**: Linux的权限...

    配置Linux操作系统.docx

    根据给定的文档,我们的主要任务是配置一个适用于企业级应用的Linux服务器,并安装一系列的服务软件,包括但不限于NFS、Web服务+PHP、Tomcat、Java、FTP、Samba、MySQL、邮件服务、SVN、Webmin和VNC等。为了确保文档...

    Linux课件 ppt课件

    最后一章可能深入探讨Web应用服务,包括HTTP协议、动态网页技术(如PHP、Python或Java)以及Web服务器的高级配置,如SSL/TLS加密、负载均衡和缓存优化等。 综上所述,这个Linux课件系列全面覆盖了从基础操作到...

Global site tag (gtag.js) - Google Analytics