https://github.com/gopikrsmscs/multithread-file-system
Java code base supports the file upload,delete,rename and download using remote procedure call communication(RPC).
https://github.com/gopikrsmscs/multithread-file-system
distributed-systems fileserver filesystem filesystemwatcher java
Last synced: 10 months ago
JSON representation
Java code base supports the file upload,delete,rename and download using remote procedure call communication(RPC).
- Host: GitHub
- URL: https://github.com/gopikrsmscs/multithread-file-system
- Owner: gopikrsmscs
- Created: 2022-05-19T03:13:25.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-19T03:17:37.000Z (over 3 years ago)
- Last Synced: 2025-01-19T12:16:13.462Z (12 months ago)
- Topics: distributed-systems, fileserver, filesystem, filesystemwatcher, java
- Language: Java
- Homepage:
- Size: 378 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MULTITHREADING FILE SYSTEM
## Problem Statement
Implement a Multi-Threaded File Server that supports UPLOAD, DOWNLOAD, DELETE, and RENAME file operations. Use different folders to hold files downloaded to the client or uploaded to the server.
## Supporting Operations
* Upload selected file from client to sever
* Delete a given file from server
* Rename server file
* Download the file from the client
## Starting server
1.Open Terminal
2.Go to Downloaded Project Directory
Perform the below operation to start the server
```bash
1.cd DSCode/MultithreadFileSystem/src
2.javac *.java
3.java FileServer
```
### Server Start Output

## Running Client
Open New Terminal and Run the below command to start the Helper Thread.
```bash
1.cd DSCode/MultithreadFileSystem/src
2.javac *.java
3.java MultiThreadClient
```
### OUTPUT

## 1.UPLOAD
When we run the client `MultiThreadClient` it will ask for the Operation we want to perform.
Below is the input format.
```bash
UPLOAD abs.pdf
UPLOAD file.pdf
```
Note: abs.pdf and file.pdf already present in the client folder
### Output

A file `abs.pdf` should be present in the folder `DSCode/MultithreadFileSystem/src/serverfiles`
## 2.DOWNLOAD
```bash
DOWNLOAD file.pdf
```
### OUTPUT

A file `file.pdf` should be present in the folder `DSCode/MultithreadFileSystem/src/clientfiles/download`
## RENAME
```bash
RENAME file.pdf f.pdf
```
### OUTPUT

Go to folder `DSCode/MultithreadFileSystem/src/serverfiles` a file f.pdf must be presnet.
## DELETE
```bash
DELETE f.pdf
```
### OUTPUT

Go to folder `DSCode/MultithreadFileSystem/src/serverfiles` a file f.pdf must be deleted.