Как читать файл, который используется в данный момент, как это делает Windows при его копировании?

Одно из моих приложений предназначено для чтения (и только чтения) файлов, которые могут использоваться.

Но при чтении файла, который уже открыт, например, в Microsoft Word, это приложение выдает исключение System.IO.IOException :

Процесс не может получить доступ к файлу '<имя файла здесь>' потому что он используется другим процессом.

Для чтения файла используется следующий код:

using (Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete))
{
    // Do stuff here.
}

Конечно, поскольку файл уже используется, ожидается это исключение.

Теперь, @Path ("/ тест") открытый класс TestSessionBean {@GET @Produces ("application / xml") public String getTest () {...

В J2EE 6 вы можете предоставить свой EJB-компонент сеанса как веб-службу REST, как показано ниже

@Stateless
@Path("/test")
public class TestSessionBean {
  @GET
  @Produces("application/xml")
  public String getTest() {
    return "<?xml version='1.0' encoding='UTF-8'?><val>test session bean</val>";
  }
}

Это работает, когда Я упаковал EJB в .war, однако, когда я пытаюсь упаковать свой проект в отдельные модули web и ejb внутри EAR, я получаю ошибку HTML 404 not found.

Кто-нибудь, пожалуйста, объясните?

Я с использованием Glassfish v3

Вот мой web.xml

<servlet>
    <servlet-name>TaskRestService</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  <load-on-startup>1</load-on-startup>


</servlet>
<servlet-mapping>
  <servlet-name>TaskRestService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
6
задан Beryllium 22 August 2013 в 10:17
поделиться